【发布时间】:2017-03-31 08:48:36
【问题描述】:
我刚刚在 regex101 上测试了一个正则表达式,并得到了一些意想不到的结果。我试过的表达是
^[^-]*(?:-[^-]*){1}\Kt
在这个字符串上
this is a test - try to split -this- string - into its substrings
regex101上的匹配结果是单词“split”末尾的“t”
这是一个测试 - 尝试将t -this- 字符串 - 拆分为它的子字符串
为什么不返回单词“try”中的第一个“t”?
这是一个测试 - t尝试将 -this- 字符串 - 拆分为其子字符串
【问题讨论】:
-
因为
*是贪婪的并且[^-]匹配t。您是否打算使用^[^-]*-[^-]*?\Kt?甚至^[^-]*-[^-t]*\Kt? -
哇,谢谢,这确实有效。你太棒了:)