标签: .net regex
我想找到与给定正则表达式捕获组的最佳匹配。 例如:
正则表达式:(AB | ABC)
样本:ABCDEF
结果:AB
但我想找到ABC(选项列表中的最佳选择)。
如何做到这一点? (除了交换组中的两个替代方案外)?
感谢您的任何想法!
答案 0 :(得分:3)
尝试按顺序指定最佳匹配(例如,首先输入最长的字符串)。许多RE引擎在他们的“急切评估”模式中更喜欢最左边的。只有POSIX RE要求返回最长的匹配备用:
http://www.regular-expressions.info/alternation.html