选择、分组、引用,指定匹配的位置
正則表達式的語法還包括指定選擇項,對子表達式分組和引用前一子表達式的特殊字符.字符| 用于分隔供選擇的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是字符串 "cd",又或者 "ef". /\d{3}|[a-z]{4}/ 匹配的是要么是一個三位數,要么是四個小寫字母.
在正則表達式中括號具有幾種作用:
1、它的主要作用是把單獨的項目分組成子表達式,以便可以像處理一個獨立的單元那種用 *、+或? 來處理那些項目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",也可以沒有. / (ab|cd) + |ef) / 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重復.
2、在正則表達式中,括號的第二個用途是在完整的模式中定義子模式。當一個正則表達式成功地和目標字符串相匹配時,可以從目標串中抽出和括號中的子模式相匹配的部分.例如,假定我們正在檢索的模式是一個或多個字母后面跟隨一位或多位數字,那么我們可以使用模式 / [a-z] + \ d+/.但是由于假定我們真正關心的是每個匹配尾部的數字,那么如果我們將模式的數字部分放在括號中 (/ [a-z] + (\d+)/) ,我們就可以從所檢索到的任何匹配中抽取數字了,之后我們會對此進行解析的.
3、代括號的子表達式的另一個用途是,允許我們在同一正則表達式的后面引用前面的子表達式.這是通過在字符串 \ 后加一位或多位數字來實現的.數字指的是代括號的子表達式在正則表達式中的位置.例如: \1 引用的是第一個代括號的子表達式. \3 引用的是第三個代括號的子表達式.注意,由于子表達式可以嵌套在其它子表達式中,所以它的位置是被計數的左括號的位置.
轉載于:https://www.cnblogs.com/hujiong/p/3535593.html
總結
以上是生活随笔為你收集整理的选择、分组、引用,指定匹配的位置的全部內容,希望文章能夠幫你解決所遇到的問題。