正则匹配 非贪婪模式

qq_40783343 2020-05-20 08:19:23
匹配结果四:<div>test1</div>bb<div>test2</div>cc

这里采用的是非贪婪模式,前面的“<div>.*?</div>”仍然是匹配到“<div>test1</div>”为止,此时后面的“cc”无法匹配成功,要求“<div>.*?</div>”必须继续向右尝试匹配,直到匹配内容为“<div>test1</div>bb<div>test2</div>”时,后面的“cc”才能匹配成功,整个表达式匹配成功,匹配的内容为“<div>test1</div>bb<div>test2</div>cc”,其中“<div>.*?</div>”匹配的内容为“<div>test1</div>bb<div>test2</div>”。可以看到,在“整个表达式匹配成功”的前提下,非贪婪模式才真正的影响着子表达式的匹配行为,如果整个表达式匹配失败,非贪婪模式无法影响子表达式的匹配行为。

如上我要匹配<div>test2</div>cc怎么写?不要告诉我bb<div>.*?</div>cc。我的前面不知道是啥?
我想只匹配上<div>test2</div>cc求教高手?
...全文
193 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40783343 2020-05-27
  • 打赏
  • 举报
回复
多谢提供思路.已搞定/
无·法 2020-05-21
  • 打赏
  • 举报
回复
<div>[^>]*?</div>cc
这样行不行呀
X-i-n 2020-05-20
  • 打赏
  • 举报
回复
(?<=.+)<div>.*?</div>cc 先用.+尽量多地匹配走不相关的前导部分

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧