为了账号安全,请及时绑定邮箱和手机立即绑定

我的正则表达式匹配得太多了。我怎样才能告诉它匹配最小的可能的模式?

/ 猿问

我的正则表达式匹配得太多了。我怎样才能告诉它匹配最小的可能的模式?

慕容708150 2019-06-18 15:36:18

我的正则表达式匹配得太多了。我怎样才能告诉它匹配最小的可能的模式?

我有这个RegEx:

('.+')

它必须与C中的字符文本匹配,例如,如果我有'a' b 'a'它应该符合A和'就在他们身边。

但是,它也匹配b而且(它不应该),可能是因为严格地说,它也在'他的。

下面是一个如何出错的屏幕截图(我将此用于语法突出显示):

我对正则表达式相当陌生。我怎么能告诉裁判官不匹配这个?


查看完整描述

3 回答

?
繁星点点滴滴

它是贪婪和匹配第一个撇号和最后一个以及两者之间的一切。

这应该与任何不是撇号的东西相匹配。

('[^']+')

另一种选择是尝试非贪婪的匹配。

('.+?')


查看完整回答
反对 回复 2019-06-18
?
慕标5265247

试着:

('[^']+')

^表示包含除方括号中的字符以外的每个字符。这样,它就不匹配了'a' b 'a'因为有一个'在两者之间,因此它将给出两个实例'a'


查看完整回答
反对 回复 2019-06-18

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信