【发布时间】:2012-12-26 06:28:42
【问题描述】:
一个非常快速的问题。
这是表达式:
/[a-zA-Z]{1,}/
我希望这个表达式只匹配那些字母。但它似乎也匹配“=”(等号)。我做错了吗?
例如:
/\B#{1}(__){1}(F|OB){1}_{1}([a-zA-Z]{1,})={1}\B/
这应该匹配:#__OB_someText=
问题是它也匹配这个:#__OB_someText== 或这个#__OB_someText====2
等号应该只出现一次。
我可能不太了解这些断言:\b \B。
【问题讨论】:
-
你的正则表达式没问题 - 你在用什么运行它?
-
hmmm.. M42 当然是正确的。如果您(捕获它),您的正则表达式将返回正确的匹配部分,但您实际上希望它 fail 如果 = 后面没有单词边界...
-
...或者您是否打算在开头和结尾处使用 \b,单词边界?
-
是的,有点。无论如何,这是一个糟糕的问题。我会自己解决的。
-
这是一个不好的问题,因为我没有说出全貌。忘掉它。我只是想用那个等号来做一些事情。如果它在那里,它应该告诉一些东西。
标签: regex word expression boundary