2

私は正規表現の経験がまったくないので、これが簡単な質問であれば申し訳ありませんが、どこにも答えが見つかりませんでした。[some numbers] [some letters]のような形式の文字列を一致させようとして123 applesいますが、前に単語がある場合は一致させたくありませんabout(たとえばabout 10 apples、一致すべきではありません)。

私は使用してみまし(?<!about )(\d[,\.\d]*) ([a-zA-Z]+)たが、それはマッチをいくらか動かすだけであるため、明らかに機能しません( のようにabout 12 applesマッチします2 apples)。これを解決するにはどうすればよいですか?

4

2 に答える 2

1

私は以前にこの問題を抱えていました。これを試して:

(?<!about )(\b\d[,\.\d]*\b) ([a-zA-Z]+)

ゼロ文字の\b単語境界に一致します(スペースの後に英数字が続く、またはその逆)。「2」の直前に単語の境界がないため、「約123個のリンゴ」を「23個のリンゴ」と一致させることは拒否されます。

于 2012-05-26T19:41:21.137 に答える
0

あなたはとても近かった: (?<!about \d*)(\d[,\.\d]*)\d*あなたのネガティブな後ろ姿に加えてください。

于 2012-05-26T19:45:30.603 に答える