<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #第10章 正則表達式的模式匹配 - <a href="#no1">10.1 正則表達式的定義</a> - <a href="#no2">10.2 用于模式匹配的String方法</a> - <a href="#no3">10.3 RegExp對象</a> 正則表達式是一個描述字符模式的對象。JS的`RegExp`類表示正則表達式。 ##<a name="no1">10.1 正則表達式的定義</a> **正則表達式直接量定義為包含在一堆斜杠(`/`)之間的字符。** ###10.1.1 直接量字符 - `\o` NUL字符(\u0000) - `\t` 制表符(\0009) - `\n` 換行符(\u000A) - `\v` 垂直制表符(\u000B) - `\f` 換行符(\u000C) - `\r` 回車符(\u000D) - `\xnn` 由十六進制數nn指定的拉丁字符 - `\uxxxx` 由十六進制數xxxx指定的Unicode字符 - `\cX` 控制字符`^X` > 在正則表達式中,許多標點符號具有特殊含義。`^ $ . * + ? ~ | \ / ( ) [ ] { } ` ###10.1.2 字符類 - `[...]` 方括號內的任意字符 - `[^...]` 不在方括號內的任意字符 - `.` 除換行符和其他Uincode行終止符之外的任意字符 - `\w` 任何ASCII字符組成的單詞,等價于`[a-zA-Z0-9]` - `\W` 任何不是ASCII字符組成的單詞,等價于`[^a-zA-Z0-9]` - `\s` 任何Unicode字白符 - `\S` 任何非Unicode空白符的字符 - `\d` 任何ASCII數字, 等價于`[0-9]` - `\D` 除了ASCII數字之外的任何字符,等價于`[^0-9]` - `[\b]` 退格直接量 ###10.1.3 重復 - `{n,m}` 匹配前一項至少n次,但不能超過m次 - `{n,}` 匹配前一項n次或更多次 - `{n}` 匹配前一項n次 - `?` 匹配前一項0次或者1次,也就是說前一項是可選的,等價于`{0,1}` - `+` 匹配前一項1次或多次,等價于`{1,}` - `*` 匹配前一項0次或多次,等價于`{0,}` **非貪婪的重復:只需在待匹配的字符后跟隨一個問號即可。** ###10.1.4 選擇、分組和引用 - `|` 選擇,匹配的是該符號左邊的子表達式或右邊的子表達式 - `(...)` 組合,將幾個項組合為一個單元 - `(?:...)` 只組合,把項組合到一個單元,但不記憶與該組相匹配的字符 - `\n` 和第n個分組第一次匹配的字符相匹配,組是圓括號中的子表達式。組索引是從左到右的左括號數。 ###10.1.5 指定匹配位置 - `^` 匹配字符串的開頭,在多行檢索中,匹配一行的開頭 - `$` 匹配字符串的結尾,在多行檢索中,匹配一行的結尾 - `\b` 匹配一個單詞的邊界。 - `\B` 匹配非單詞邊界的位置 - `(?=p)` 零寬正向先行斷言,要求接下來的字符都與p匹配,但不能包括匹配p的那些字符 - `(?!p)` 零寬負向先行斷言,要求接下來的字符不與p匹配 ###10.1.6 修飾符 - `i` 執行不區分大小寫的匹配 - `g` 執行一個全局匹配 - `m` 多行匹配模式 ##<a name="no2">10.2 用于模式匹配的String方法</a> 1. `search()`:參數是一個正則表達式,返回第一個與之匹配的子串的起始位置,如果找不到匹配的子串,返回`-1`。 2. `replace()`:用來執行檢索與替換操作。第一個參數是一個正則表達式,第二個參數是要進行替換的字符串。 3. `match()`:唯一的一個參數就是一個正則表達式,返回的是一個由匹配結果組成的數組。 4. `split()`:唯一的一個參數就是一個正則表達式,可以將調用它的字符串拆分為一個子串組成的數組。 ##<a name="no3">10.3 RegExp對象</a> ###10.3.1 RegExp的屬性 每個`RegExp`對象都包含5個屬性。 1. `source`:一個只讀的字符串,包含正則表達式文本。 2. `global`:一個只讀的布爾值,用以說明這個正則表達式是否帶有修飾符`g`。 3. `ignoreCase`:一個只讀布爾值,用以說明正則表達式是否帶有修飾符`i`。 4. `multiline`:一個只讀布爾值,用以說明正則表達式是否帶有修飾符`m`。 5. `lastInde`:一個可讀/寫的整數。 ###10.3.2 RegExp的方法 1. `exec()`:對一個執行的字符串執行一個正則表達式。如果有匹配則返回一個數組,無匹配則返回`null`。 2. `test()`:參數是一個字符串,如果包含正則表達式的一個匹配結果,則返回`true`。 var pattern = /java/i; pattern.test('javaScript'); //返回 true
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看