這裏是一個正則表達式是這樣的:(JavaScript的)正則表達式匹配較長的項目
let exp = /^>=|>==|<=|<==/
當我使用exp
匹配這樣的字符串:
let str = ">==abc"; str.match(exp); // >=
如何使其儘可能匹配項目,而不使用/^>==?/
?現在我必須把>=
放在>==
之後,比如/>==|>=
,但是我想讓它與位置無關。
這裏是一個正則表達式是這樣的:(JavaScript的)正則表達式匹配較長的項目
let exp = /^>=|>==|<=|<==/
當我使用exp
匹配這樣的字符串:
let str = ">==abc"; str.match(exp); // >=
如何使其儘可能匹配項目,而不使用/^>==?/
?現在我必須把>=
放在>==
之後,比如/>==|>=
,但是我想讓它與位置無關。
我必須動態地構造常規迴歸,所以我只能這樣做。 – laoqiren
@laoqiren:即使你必須動態地構建你的模式,沒有任何東西禁止在加入之前按長度對項目進行排序。 –
交替不是 「位置獨立」,左邊的第一個總是贏。如果你想保持這種變化,你可以嘗試排除未完成的符號序列的負向前瞻:'/(?:> = |> == | <=|<==)(?![<> =])/' –