我的正则表达式太匹配了.我怎么能告诉它匹配最小的模式?

7 regex

我有这个RegEx:

('.+')
Run Code Online (Sandbox Code Playgroud)

它必须匹配像C中的字符文字.例如,如果我有'a' b 'a'它应该匹配a和'它们周围的.

然而,它也匹配b也(它不应该),可能是因为它严格来说也是在它之间'.

以下是它出错的截图(我使用它来进行语法突出显示):
截图

我对正则表达式很新.我怎么能告诉正则表达式不匹配呢?

gpo*_*ojd 10

它是贪婪的,匹配第一个撇号和最后一个撇号和中间的一切.

这应该匹配任何不是撇号的东西.

('[^']+')
Run Code Online (Sandbox Code Playgroud)

另一种选择是尝试非贪婪的比赛.

('.+?')
Run Code Online (Sandbox Code Playgroud)

  • 这个页面,http://www.regular-expressions.info/repeat.html,可以解释得比我能解释得更好.基本上,它会在贪婪时尽可能地匹配. (2认同)