在#之间匹配字符

  • 本文关键字:字符 之间 regex
  • 更新时间 :
  • 英文 :


如果我有一些文本,然后有一系列的标签xyz #abc1 def #hij #lmn,我想匹配所有的文本和数字,除了标签后面的空白字符,所以结果应该是:

abc1 def
hij
lmn

我一直在试验这个,但我得到的最接近的是#[a-zA-Z]*,它似乎没有那么接近。。。

您可以使用

#[^#]*[^#s]

请参阅regex演示详细信息

  • #-一个#字符
  • [^#]*-除#之外的零个或多个字符
  • [^#s]-除#和空白之外的字符

要在#之后获得匹配的部分,请捕获该部分:

#([^#]*[^#s])

并获取第1组的值,或者使用一个后备:

(?<=#)[^#]*[^#s]

在PCRE或Boost中,您甚至可以使用K运算符:

#K[^#]*[^#s]

最新更新