我需要如果我使用正則表達式來寫一點正則表達式匹配,這將在正則表達式匹配的幫助:不會匹配每個appearence
[a-zA-Z]+(_[a-zA-Z0-9]+)?
形式的字符串相匹配出現的任何上述它匹配所需的部分,但也將匹配到4_abc
的abc
部分,這不是預期的。我試圖用它排除在外:
(?:[^a-zA-Z0-9_]|^)([a-zA-Z]+(_[a-zA-Z0-9]+)?)(?:[^a-zA-Z0-9_]|$)
的問題是,「不是」開頭相匹配,並且最終是不是真的那樣工作我希望他們會。如果我使用他們的例子
a_d Dd_da 4_d d_4
他們會阻止匹配第二Dd_da因爲空間是在第一match.Sadly使用,因爲我使用JS我不能使用lookarounds。
所以輸入: a_d Dd_da 4_d d_4
應符合:a_d
,Dd_da
和d_4
但比賽:a_d
(有在後面加上一個空格)
有另一種方式來匹配需要的部分,還是不消費'錨'匹配?
我真的很感謝你的幫助。
'\ b'怎麼辦? ['\ b [a-zA-Z] +(_ [a-zA-Z0-9] +)?\ b'](https://regex101.com/r/XS4C23/1) – trincot
@trincot that worked !我之前忽略了這個,因爲我雖然'∧''∨'可能被算作「單詞的一部分」,但是解決了這個問題!你可以請轉貼這個答案嗎? – Feirell