限制贪婪的正则表达式

时间:2014-11-27 18:12:16

标签: regex

示例字符串:

?token=a12b3c4d5e&time=1417111248&message=Lorem ipsum dolor sit amet.&mode=reply&bbcode=1&topic=123456789


尝试使用(?:\?|&)message=(.+)&捕获邮件,但它会匹配所有内容,直到最后一个&字符:

Lorem ipsum dolor sit amet.&mode=reply&bbcode=1

第一次遇到&时如何停止捕获组?


预期结果:

Lorem ipsum dolor sit amet.

1 个答案:

答案 0 :(得分:3)

您可以使用非常简单的正则表达式

message=[^&]+

示例:http://regex101.com/r/rJ5qK2/1

  • [^&]+匹配&一次或多次
  • 以外的任何内容

你也可以使用非贪婪的.+?作为

message=(.+?)&

示例:http://regex101.com/r/rJ5qK2/2