<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之旅 廣告
                ### 元字符 | 代碼 | 說明 | | :-----: | ----- | | `*` | 匹配重復任意次(包括0次)| | `+` | 匹配一次或多次(至少一次)| | `.` | 匹配除換行符以外的任意字符| | `\w` | 匹配字母或數字或下劃線或漢字| | `\s` | 匹配任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格| | `\d` | 匹配數字| | `\b` | 匹配單詞開始或結束| | `^` | 匹配字符串開始| | `$` | 匹配字符串結尾| <!--more--> ### 字符轉義 如果想要查找匹配字符本身,則需要進行字符轉義,轉義符`\`,例如:`\.`,`\*`,`\\` ### 重復 | 代碼 | 說明 | | ----- | ----- | | `*` | 重復0次或更多次| | `+` | 重復1次或更多次| | `?` | 重復0次或1次| | `{n}` | 重復n次| | `{n,}` | 重復n次或更多次| | `{n,m}` | 重復n到m次| ### 字符類 在方括號`[]`里列出即可,如: ```js [a-zA-z0-9] [abedcdoi?!] ``` ### 分支條件 用`|`將幾種規則分割開,滿足其中任意一種即匹配成功,栗子: `0\d{2}-\d{8}|0\d{3}-\d{7}`:這個表示`0`開頭,然后`2`位數字,加`-`,加`8`位數字,或者`0`開頭,加`3`位數字,加`-`,加`7`位數字,比方: `012-12345678`或者`0123-1234567` 注意:匹配分枝條件時,將會從左到右地測試每個條件,如果滿足了某個分枝的話,就不會去再管其它的條件了。所以特別要注意順序 ### 分組 分組是通過標識符`()`來進行整體的分組匹配的,栗子: 一個簡單的ip匹配:`(\d{1,3}\.){3}\d{1,3}` `\d{1,3}`匹配1到3位的數字,`(\d{1,3}\.){3}`匹配三位數字加上一個英文句號(這個整體也就是這個分組)重復3次,最后再加上一個一到三位的數字`(\d{1,3})` 正確的ip匹配`((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)` ### 反義符 | 代碼 | 說明 | | ----- | ----- | | `\W` | 匹配任意不是字母,數字,下劃線,漢字的字符| | `\S` | 匹配任意不是空白符的字符| | `\D` | 匹配任意非數字的字符| | `\B` | 匹配不是單詞開頭或結束的位置| | `[^x]` | 匹配除了x以外的任意字符| | `[^aeiou]` | 匹配除了aeiou這幾個字母以外的任意字符| #### 更多高級功能 #### 后項引用 使用小括號指定一個子表達式后,匹配這個子表達式的文本(也就是此分組捕獲的內容)可以在表達式或其它程序中作進一步的處理。默認情況下,每個分組會自動擁有一個組號,規則是:從左向右,以分組的左括號為標志,第一個出現的分組的組號為1,第二個為2,以此類推。 后項引用就是:重復搜索前面某個分組匹配到的文本. 例如: `\b(\w+)\b\s+\1\b`可以用來匹配重復的單詞,像`go go`, 或者`kitty kitty`。這個表達式首先是一個單詞,也就是單詞開始處和結束處之間的多于一個的字母或數字`(\b(\w+)\b)`,這個單詞會被捕獲到編號為1的分組中,然后是1個或幾個空白符`(\s+)`,最后是分組1中捕獲的內容(也就是前面匹配的那個單詞)`(\1)`。 你也可以自己指定子表達式的組名。要指定一個子表達式的組名,請使用這樣的語法:`(?<Word>\w+)`(或者把尖括號換成`'`也行:`(?'Word'\w+))`,這樣就把`\w+`的組名指定為`Word`了。要反向引用這個分組捕獲的內容,你可以使用`\k<Word>`,所以上一個例子也可以寫成這樣:`\b(?<Word>\w+)\b\s+\k<Word>\b`。 常用的分組: | 分類 | 代碼 | 說明 | | ---- | ---- | ---- | | 捕獲 | `(exp)` | 匹配exp,并捕獲文本到自動命名的組里| | | `(?<name>exp)` | 匹配exp,并捕獲文本到名稱為name的組里,也可以寫成(?'name'exp)| | | `(?:exp)` | 匹配exp,不捕獲匹配的文本,也不給此分組分配組號| | 零寬斷言| `(?=exp)` | 匹配exp前面的位置| | | `(?<=exp)` | 匹配exp后面的位置| | | `(?!exp)` | 匹配后面跟的不是exp的位置| | | `(?<!exp)` | 匹配前面不是exp的位置| | 注釋 | `(?#comment)` | 這種類型的分組不對正則表達式的處理產生任何影響,用于提供注釋讓人閱讀| #### 零寬斷言 > 斷言用來聲明一個應該為真的事實。正則表達式中只有當斷言為真時才會繼續進行匹配。 > `(?=exp)`,零寬度正預測先行斷言,斷言自身出現的位置的后面能匹配表達式exp ----以xxx結尾 > `(?<=exp)`,寬度正回顧后發斷言,斷言自身出現的位置的前面能匹配表達式exp ----以xxx開頭 #### 負向零寬斷言 > `(?!exp)`,零寬度負預測先行斷言,斷言此位置的后面不能匹配表達式exp ---不以xxx結尾 > `(?<!exp)`,零寬度負回顧后發斷言,斷言此位置的前面不能匹配表達式exp ---不以xxx開頭 #### 注釋 `(?#comment)` #### 貪婪與懶惰 #### 處理選項 #### 平衡組/遞歸匹配 #### More... ### 參考文檔 1. [正則表達式30分鐘入門指南](https://deerchao.net/tutorials/regex/regex.htm) 2. [.NET Framework 正則表達式](https://msdn.microsoft.com/zh-cn/library/hs600312.aspx) <p class="over">Over!</p>
                  <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>

                              哎呀哎呀视频在线观看