【发布时间】:2009-08-27 11:21:46
【问题描述】:
我想这样分割一个字符串:
abc//def//ghi
进入//第一次出现前后的部分:
a: abc
b: //def//ghi
我目前正在使用这个正则表达式:
(?<a>.*?)(?<b>//.*)
到目前为止效果很好。
但是,有时源字符串中缺少//,显然正则表达式无法匹配。如何将第二组设为可选?
abc 这样的输入应该匹配到:
a: abc
b: (empty)
我尝试了(?<a>.*?)(?<b>//.*)?,但这让我在 Expresso 中有很多 NULL 结果,所以我猜这是错误的想法。
【问题讨论】:
-
您确定需要正则表达式吗?
-
Regex 做得很好,没有理由不使用它。
-
正则表达式永远不是
needed。在这种情况下,我喜欢使用正则表达式,因为上面只是需要正则表达式的更大的简化部分。
标签: regex