blah blahTESTblab la14blah-15S rebla
我正在尝试捕获
TEST
和
15S
如果存在。我写了以下言论:
(TEST).*?(\d{1,2}S)?
一切都进展顺利,直到最后一个。最后一个组确实需要是可选的。 并且不能锚定小组,因为我正在搜索的字符串是人类写的,即可靠。怎么了?
以下模式似乎可以做您想要的:
?
(TEST)(?:.*?(\d{1,2}S)|)
在第一个捕获组中所需的“测试”
(TEST)
(?:
.*?(\d{1,2}S)
(除了第一个“测试”之外,什么都没有匹配)
|