我得到了一些字符串來搜索正則表達式的匹配。正則表達式優先考慮最長的模式
foo
AB0001
AB0002 foo
foo AB0003
foo AB0004A AB0004.1
AB0005.1 foo AB0005A bar AB0005
的期望的匹配是每行一個ID而與在端部具有字母ID應該被優先,而具有0.1的ID應該被忽略。
foo -> no match
AB0001 -> AB0001
AB0002 foo -> AB0002
foo AB0003.1 -> no match
foo AB0004A AB0004.1 -> AB0004A
AB0005.1 foo AB0005A bar AB0005 -> AB0005A
我以爲我可以很容易地使用由交替|
符號賦予優先級的ID,並在最後一個大寫字母,但仍然存在總是給多個匹配的優先級。
我的建議: regex101.com/r/yP5kX4/1
Offtopic:當使用正則表達式整體開始^
結束與$
與捕獲/非捕獲組工作時,我應該寫的正則表達式儘可能短?
您無法通過R中的純正PCRE/TRE正則表達式實現此功能。 –