非贪心匹配

时间:2017-07-17 11:31:32

标签: regex

在Geany,我想要匹配书籍的标题。一个例子:

  
      
  • Michael Lewis,Liar's Poker,Hodder& Stoughton Ltd,London,1989
  •   

我尝试使用此正则表达式代码:

,\s.*?, 

这个正则表达式匹配得太多了。它匹配:[,骗子的扑克,]和[,伦敦,]。 我希望有一个只匹配标题的正则表达式。

2 个答案:

答案 0 :(得分:0)

我认为你需要这个没有全局修饰符的正则表达式。如果你设置了全局修饰符,即g,那么它将返回你经历过的更多匹配。

,\s*([^,]+)

Demo

由于您想忽略更多匹配,因此您也可以尝试:

^.*?,\s*([^,]+).*$

您将在第1组获得骗子扑克

Demo 2

答案 1 :(得分:0)

 /(, \w+[']?\w? \w+,)/g

这个正则表达式会让你这个

[", Liar's Poker,"]

您必须执行其他处理才能删除这些前导和尾随逗号。试一试,看看这是否适合你。