我對regex
比較新。我發現這個regex
被使用,並且無法理解它的工作原理。正則表達式澄清
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
我最瞭解的基本語法,但無法理解這是什麼意思。
任何清晰的這一點將不勝感激!這是在JavaScript中使用的標籤。
謝謝!
我對regex
比較新。我發現這個regex
被使用,並且無法理解它的工作原理。正則表達式澄清
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
我最瞭解的基本語法,但無法理解這是什麼意思。
任何清晰的這一點將不勝感激!這是在JavaScript中使用的標籤。
謝謝!
同樣沒有uneeded字符:
/(\(*(\w\/?\w?(%)?(,)?)*|[\/.]|\w([-*+\\<>=](\(*\w\/?(%)?\)?\)?(,)?)+)*\)?)*$/
這種模式可以匹配這樣的字符串(或沒有)的:
(((a/b%,(((a/b%,///./././(((a/b%,k*((((((((P/%)),)
要了解更多關於正則表達式REFER:regex101給你的代碼,而閱讀解釋。
你的正則表達式:([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$
將匹配任何類似
(d/f%,
something
122
但將無法匹配像
--{}
說明:
您正則表達式:
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
可以看作:
除非有您正則表達式一個錯字,它永遠不會匹配任何東西;正則表達式以$/
結尾,這意味着字符串末尾後跟/
,除非您匹配多行。如果這是家庭作業,我會說老師正在做一個壞笑話,因爲$/
通常不匹配任何東西。
一些簡化後,您將獲得:
(\(*(\w\/?\w?(%)?(,)?)*|[\/.]|\w([-*|+\\<>=](\(*\w\/?(%)?\)?\)?(,)?)+)*\)?)*$/
如果你不關心分組,那麼這是類似的:
(\(|[\/.]|(\w\/?\w?%?,?)|\w([-*|+\\<>=](\(*\w\/?%?\)?\)?,?)+)*\)?)*$/
這種利用該(a*|b*)*
可以簡化爲(a|b)*
這是一段現有的代碼。通過檢查後,發現這是沒有正確測試。 – Aashray
這可能幫助:https://www.debuggex.com/r/MyliJBLGcB1qhHQz,或本http://regex101.com/r/vO3aI9。如果我可以這樣說,那麼寫這種模式的人並不知道他們在做什麼。 – Kobi
大聲笑這是我的時間之前,但這似乎符合要求。我需要對此進行增強,但我不明白這是什麼。感謝鏈接,通過這些可能會幫助我理解它。 – Aashray