问题在代码中更容易被看到,然后描述了我跟随正则表达式
(?<=First(Second)?)\w{5}
以及以下示例数据
FirstSecondText1
FirstText2
我只想要匹配Text1
&amp; Text2
,我得到3,Secon
已添加,我不希望这样。
四处玩,似乎无法让它发挥作用。
答案 0 :(得分:4)
您需要额外的否定前瞻:
(?<=First(Second)?)(?!Second)\w{5}
如果您想避免两次使用Second
,您可以在没有环视的情况下执行此操作并获取第一个捕获组的结果:
First(?:Second)?(\w{5})
答案 1 :(得分:1)
您可以尝试此正则表达式(?<=First(Second)?)\w{5}$
。您所要做的就是在最后添加$
,以使正则表达式与文本Secon
不匹配。只要您确定输入文本末尾的模式,就可以使用它。在这种情况下,它是\w{5}$