我想用正则表达式解析一个字符串,字符串的例子是
罗得:他说:你不能通过代码>
我想将Lot
作为一个组捕获,并且他说:你不应该通过!
。然而,当我使用我的(. ): (. )
模式时,它返回
Lot:他说:
和你不应该通过!
他说:你不应该使用正则表达式传递吗?
第一组需要一个非贪婪(或懒惰)的基数:< code >(。?): (.)。
关于http://www.regular-expressions.info/repeat.html的更多细节,章节“懒惰而不是贪婪”。
试试这个:
([^:]+):\s*(.*)
(?=.*?:.*?:)(.*?):(.*)
你可以用这个。
请参见演示。
http://regex101.com/r/rX0dM7/9