从正则表达式捕获组中找到最佳匹配

时间:2011-01-12 13:32:14

标签: .net regex

我想找到与给定正则表达式捕获组的最佳匹配。 例如:

正则表达式:(AB | ABC)

样本:ABCDEF

结果:AB

但我想找到ABC(选项列表中的最佳选择)。

如何做到这一点? (除了交换组中的两个替代方案外)?

感谢您的任何想法!

1 个答案:

答案 0 :(得分:3)

尝试按顺序指定最佳匹配(例如,首先输入最长的字符串)。许多RE引擎在他们的“急切评估”模式中更喜欢最左边的。只有POSIX RE要求返回最长的匹配备用:

http://www.regular-expressions.info/alternation.html