加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式贪婪的问题

发布时间:2020-12-14 05:39:18 所属栏目:百科 来源:网络整理
导读:我确信这个很容易,但我尝试了很多变化,但仍然无法满足我的需要.事情太贪婪了,我不能让它停止贪婪. 鉴于案文: test=this=that=more text follows 我想选择: test= 我试过以下正则表达式 (S+)=(S.*)(S+)?=[^=]{1}... 谢谢大家. 解决方法 这里: // matche
我确信这个很容易,但我尝试了很多变化,但仍然无法满足我的需要.事情太贪婪了,我不能让它停止贪婪.

鉴于案文:

test=this=that=more text follows

我想选择:

test=

我试过以下正则表达式

(S+)=(S.*)
(S+)?=
[^=]{1}
...

谢谢大家.

解决方法

这里:

// matches "test=,test"
(S+?)=

or

// matches "test=,test" too
(S[^=]+)=

你应该考虑使用第一个版本.给定你的字符串“test = this = that = more text following”,版本1将匹配test = this = that =然后继续解析到字符串的结尾.然后它会回溯,并找到test = this =,继续回溯,找到test =,然后选择test =作为它的最终答案.

版本2将匹配test =然后停止.您可以在较大的搜索中看到效率提升,例如多行或整个文档匹配.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读