regex 正则表达式匹配前一个单词

pbwdgjma  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(149)

我想匹配句子中</FORMAT>之前的单词(编号)。编号有.它也有子编号,如1.1.1.,并始终以.结束。
举例来说:
样品1 1.</FORMAT>
样品2 1.1.</FORMAT>
样本3 output3</FORMAT>//正确匹配输出3
样本1应该匹配1.。样本2应匹配1.1.
如果有.,我就找不到匹配的单词。没有.,可以匹配前一个字。

\w+(?=<\/FORMAT>)

字符串
Regex

p5fdfcr1

p5fdfcr11#

您可以用途:

\w+(?:\.\w+)*\.?(?=<\/FORMAT>)

字符串
模式匹配:

  • \w+匹配1个以上单词字符
  • (?:\.\w+)*可选重复匹配.,然后再重复1个以上单词字符
  • \.?匹配可选点
  • (?=<\/FORMAT>)正向预测,将</FORMAT>置位到右侧

参见regex demo
或者以单词字符开始匹配,后跟可选的单词字符或点:

\w[\w.]*(?=<\/FORMAT>)


查看另一个regex demo

相关问题