【发布时间】:2013-05-13 10:57:11
【问题描述】:
想要匹配一个以# 结尾的单词,比如
你好 hello# world#
我尝试使用边界
\b\w+#\b
它不匹配。我认为\b 是一个非单词边界,但从这种情况下似乎不是这样
出乎意料
\b\w+#\B
匹配!
那么为什么\B 在这里有效,而\b 无效!还有为什么\b 在这种情况下无效!
注意:
是的,我们可以使用\b\w+#(?=\s|$),但我想知道为什么\B 在这种情况下有效!
【问题讨论】:
-
@Anirudh 我认为这是因为第一个
#之后的空间。 -
@MarounMaroun 确实是的,并且该空间应该与
\b匹配 -
它与空间无关...与
#有关。 -
@AymanSafadi 它确实与空格有关,因为模式确实匹配字符串
hi hello#world#。
标签: java javascript .net regex