2011-01-12 90 views
3

我想找到與給定的正則表達式捕獲組匹配的最佳匹配。 例子:從正則表達式捕獲組中找到最佳匹配

正則表達式:(AB | ABC)

樣品:ABCDEF

結果:AB

但我想找到ABC(從選項列表的最佳配合) 。

這怎麼辦? (除了交換組中的兩個備選方案)?

感謝您的任何想法!

+0

我懷疑你可以做這樣的事情。 – 2011-01-12 13:37:31

回答

3

嘗試按順序指定您的最佳匹配項(例如,首先輸入最長的字符串)。許多可再生能源發動機首選他們的「渴望評估」模式。即最長匹配的備用僅返回POSIX的RE任務:

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

+2

很好的建議,+1。我想補充一點,我更喜歡非POSIX正則表達式引擎的行爲,因爲它允許我確定我自己認爲的「最佳」匹配 - 它並不總是最長的。大小不......你知道...... – 2011-01-12 14:35:56

相關問題