0

# char で始まり、その後に [a-zA-Z0-9_]+ が続く文字列内のすべての項目をキャプチャすることになっているドット ネットで正規表現 exp を書くのに苦労しています。問題は、ブラケット "(" が後に続くキャプチャ部分文字列を避けたいことです。したがって、この例の文字列 "#REGNR() + #ORDER" から、一致で次の出力を取得する必要があります: "#ORDER" 私はしようとしていますこの正規表現でこれを実現します:"(#([a-zA-Z0-9_]+(?!()))"間違いなく私が欲しいものではありません。

助言がありますか?

どうもありがとうございました、

ピーター

4

2 に答える 2

0

もしかしてこれ?

(#([a-zA-Z0-9_]+))(?!\()

そうすれば、グループ化にハッシュを含めることができます。これは、次の「#ORDER」にのみ一致します。

#REGNR() + #ORDER + #B() + BLAH
于 2012-08-01T07:08:33.000 に答える
0

言葉の境界を見つける必要があると思います。

このために、\b必要な場所に <- 単語の境界線を配置するだけです。

あなたの演習では:#\b([a-zA-Z0-9_]+)\b(?!\(\))

必要なものすべてに一致します(ここで正規表現を確認してください

\b<WHOLE WORD>\b最後の特殊文字ではなく、単語全体に一致()します。

于 2012-08-01T07:06:54.150 に答える