Quantcast
Channel: OKWAVE 最新質問([技術者向] コンピューター/205)【本日】
Viewing all articles
Browse latest Browse all 38062

<正規表現>直書きしない文字列否定

$
0
0
Objective-Cの正規表現について質問です。 表計算ソフトなどで使う数式を検索対象文字列として、「引数内に関数が使用されていない関数」をマッチさせたいと考えています。 どの様な正規表現であれば良いかご教示頂けますでしょうか。 以下に具体例を示します。 -------------------------------------------- ■検索対象文字列 =SUM(A1:A3;SUM(B1:B3);ROUND(IF(C2>10;1.234;0);2)) ※数式の内容は適当です ■マッチさせたい文字列 SUM(B1:B3) IF(C2>10;1.234;0) ■補足説明 1) 検索対象文字列の最初のSUM関数の引数内には別のSUM関数等が使用されているので除外。 2) 2番目のSUM関数の引数内には関数が使用されていないのでマッチさせる。 3) ROUND関数の引数内にはIF関数が使用されているので除外。 4) IF関数の引数内には関数が使用されていないのでマッチさせる。 ■その他条件 1) 関数名は2~5文字の英字とする  例.SUM(),IF(),ROUND()など 2) 正規表現内で関数名の直書きはしない 3) セル参照式のアルファベットは必ず1文字とする  例.A1やZ30等。AB1やBZ30等は無い。 -------------------------------------------- 関数の引数内に「英字2~5文字がある場合は除外する」と言う意味で、以下の様な正規表現を組んだのですが上手くいきませんでした。 [A-Za-z]{2,5}\([^([A-Za-z]{2,5})]*\) 以下の様に関数名を直書きすれば理想の結果となるのですが… [A-Za-z]{2,5}\([^(SUM|IF|ROUND)]*\) あくまで、いろいろな関数名に可変で対応したいと考えています。 どの様な正規表現であれば良いでしょうか。 お知恵を貸して頂ければと思います。 宜しくお願い致します。

Viewing all articles
Browse latest Browse all 38062

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>