如果我有一些文本,然后有一系列的标签xyz #abc1 def #hij #lmn
,我想匹配所有的文本和数字,除了标签后面的空白字符,所以结果应该是:
abc1 def
hij
lmn
我一直在试验这个,但我得到的最接近的是#[a-zA-Z]*
,它似乎没有那么接近。。。
您可以使用
#[^#]*[^#s]
请参阅regex演示详细信息:
#
-一个#
字符[^#]*
-除#
之外的零个或多个字符[^#s]
-除#
和空白之外的字符
要在#
之后获得匹配的部分,请捕获该部分:
#([^#]*[^#s])
并获取第1组的值,或者使用一个后备:
(?<=#)[^#]*[^#s]
在PCRE或Boost中,您甚至可以使用K
运算符:
#K[^#]*[^#s]