【发布时间】:2013-09-30 03:06:29
【问题描述】:
示例正则表达式:
/^([\w]+:)?other:(.*)$/
示例字符串:
test:other:words...
第一组将匹配“test:”,但我希望它只捕获“test”。一开始我以为:
/^([\w]+)?:?other:(.*)$/
但我意识到一开始我不能有一个 :。我如何捕获一个如果存在必须以 : 结尾的组,但是这个 : 不能被该组捕获?
输入输出示例:
randomString:constantString:somethingElse
应该将“randomString”作为第一组。
和
constantString:somethingElse
应该将第一组设为空
【问题讨论】:
-
我不知道你的全部情况,但也许这更容易得到第一个':'之前的所有内容
^([^:]+)=) -
@Enissay,不。这个随机字符串不能由任何字符组成,只能由我需要的字符组成。
-
非捕获或非消费匹配?
-
是的,当你添加一个例子时事情就更清楚了……记得总是添加一个:)