正則表達式中的或與


默認的多選分支『(…|…)』使用的括號是會捕獲文本的,也就是說,括號內的表達式真正匹配成功的文本會記錄下來,匹配完成之后可以提取出來,具體到上面的例子,就是我們有辦法在匹配完成后“提取”出u或har或onduc或our。但許多時候,我們需要的只是整個表達式的匹配,而不關心“匹配時到底選擇的哪種可能情況”,在這種情況下,我們稍加修改,使用“不捕獲文本的括號”,可以提高效率。不捕獲文本的寫法也很簡單,只是在開擴號之后加上字符『?:』,也就是『(?:…|…)』,具體到上面的例子,就應該寫成『c(?:u|har|onduc|our)t』。這樣做雖然繁瑣點,但效率有保障,閱讀起來也不困難,我推薦養成這種習慣,只要用到了括號,就想想是否真的要捕獲括號內表達式匹配的文本,如果不需要,就是用不捕獲文本的括號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM