【发布时间】:2022-01-27 17:24:16
【问题描述】:
我正在尝试编写一个正则表达式来获取字符和单词之间的字符串部分。
例如
FIRST/SECOND/999999/在第三个之前匹配这里的所有内容
它应该获取“999999/”(此部分将始终为数字,6 位,并以正斜杠结尾)和“third”(该词不会更改)之间的单词。 预期结果:在此之前匹配所有内容
我最终得到了以下正则表达式,但它仅在单词“匹配”之前有空格时才获取单词:
/(?
谁能帮忙?
谢谢!
编辑:更新澄清。谢谢@JvdV
【问题讨论】:
-
会不会一直是前面的六位数部分?
-
是的! 6 位数字和正斜杠。谢谢
-
积极的后视要求在匹配之前有空格。删除它并将
.(匹配每个字符)替换为[^/](匹配除/之外的所有字符)。如果您绝对需要它以/开头,仍然如前所述替换.,但保持向后看并从中删除\s。 -
也许可以试试
(?:^|\/)\d{6}\/([^\/]+?)\s*\bthird并使用第一个捕获组的内容。 -
是的,就是这样!惊人。谢谢!
标签: regex