1

我知道有很多关于正则表达式和美元符号的线索。但我读的那一篇根本没有帮助。我有这个\b(foo bar\$)s?\b应该匹配的正则表达式foo bar$and 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两边都被非单词字符包围。

解决方案是仅\bs.

于 2012-10-09T15:16:53.953 回答