1

正規表現とドル記号についてはたくさんのスレッドがあることを私は知っています。しかし、私が読んだものはまったく役に立ちませんでした。\b(foo bar\$)s?\bと一致するはずのこの正規表現がfoo bar$ありfoo bar$sます。問題は、正規表現はにのみ一致するということですfoo bar$s

それはのため\b(foo bar)s?\bに働きfoo barfoo bars

ドルは名前の一部なので、削除できません。

何か案は?

4

1 に答える 1

6
\b(foo bar\$)(s\b)?

\b単語の境界に一致します。これは、単語文字の後に非単語文字が続く、またはその逆として定義されます。$は単語以外の文字であるため、両側が単語以外の文字で囲まれ$\b<space>ているため、一致に失敗します。\b

\b解決策は、が後の場合にのみ2番目を探すことsです。

于 2012-10-09T15:16:53.953 に答える