Regex 如何在给定场景中应用惰性量词?
我正在尝试将一个事件与正则表达式匹配: to(.*?) CITY[\d] 到(.*)城市[\d] 反对 John from beautiful CITY1 in sdfsf to dsfs in sf to abc CITY2 to CITY3 for 3 days 约翰从sdfsf的美丽城市1到sf的dsfs再到abc城市2到城市3,为期3天 我有两个匹配项: to dsfs in sf to abc CITY2 to CITY3 至sf中的DSF至abc CITY2 到城市3 我的问题是,我需要一个常规的exp,使用它我可以得到一个匹配“到abc CITY2”,而不是“到sf中的dsfs到abc CITY2” 我读过关于惰性量词的文章,但无法将其应用到这个场景中Regex 如何在给定场景中应用惰性量词?,regex,regex-greedy,Regex,Regex Greedy,我正在尝试将一个事件与正则表达式匹配: to(.*?) CITY[\d] 到(.*)城市[\d] 反对 John from beautiful CITY1 in sdfsf to dsfs in sf to abc CITY2 to CITY3 for 3 days 约翰从sdfsf的美丽城市1到sf的dsfs再到abc城市2到城市3,为期3天 我有两个匹配项: to dsfs in sf to abc CITY2 to CITY3 至sf中的DSF至abc CITY2 到城市3 我的问题是,
\bto\b(?:(?!\bto\b).)*?CITY\d+
试试这个。看演示
在这里,我们使用负向前看来确保to
之后的任意字符与to
不匹配。因此,它将选择最近的to
to城市
(?!\b to\b)
反向前瞻与不匹配
)*
量化它我认为您需要将表达式/逻辑更改为类似的形式。谢谢,它很有效@哈姆扎建议使用更干净的正则表达式。