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

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

我有这个RegEx:

('.+')

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

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

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

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


慕容708150
浏览 756回答 3
3回答

繁星点点滴滴

它是贪婪和匹配第一个撇号和最后一个以及两者之间的一切。这应该与任何不是撇号的东西相匹配。('[^']+')另一种选择是尝试非贪婪的匹配。('.+?')

小唯快跑啊

试着:('[^']+')^表示包含除方括号中的字符以外的每个字符。这样,它就不匹配了'a' b 'a'因为有一个'在两者之间,因此它将给出两个实例'a'
打开App,查看更多内容
随时随地看视频慕课网APP