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

问题描述:

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

正则表达式:(AB | ABC)

样品:ABCDEF

结果:AB

但我想找到ABC(从选项列表的最佳配合) 。

这怎么办? (除了交换组中的两个备选方案)?

感谢您的任何想法!

+0

我怀疑你可以做这样的事情。 – 2011-01-12 13:37:31

尝试按顺序指定您的最佳匹配项(例如,首先输入最长的字符串)。许多可再生能源发动机首选他们的“渴望评估”模式。即最长匹配的备用仅返回POSIX的RE任务:

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

+2

很好的建议,+1。我想补充一点,我更喜欢非POSIX正则表达式引擎的行为,因为它允许我确定我自己认为的“最佳”匹配 - 它并不总是最长的。大小不......你知道...... – 2011-01-12 14:35:56