<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 貪婪 vs 不貪婪 當重復一個正則表達式時,如用 a\*,操作結果是盡可能多地匹配模式。當你試著匹配一對對稱的定界符,如 HTML 標志中的尖括號時這個事實經常困擾你。匹配單個 HTML 標志的模式不能正常工作,因為 .\* 的本質是“貪婪”的 ``` #!python >>> s = '<html><head><title>Title</title>' >>> len(s) 32 >>> print re.match('<.*>', s).span() (0, 32) >>> print re.match('<.*>', s).group() <html><head><title>Title</title> ``` RE 匹配 在 "`&lt;html&gt;`" 中的 "&lt;",.\* 消耗掉字符串的剩余部分。在 RE 中保持更多的左,雖然 &gt; 不能匹配在字符串結尾,因此正則表達式必須一個字符一個字符地回溯,直到它找到 &gt; 的匹配。最終的匹配從 "&lt;html" 中的 "&lt;" 到 "&lt;/title&gt;" 中的 "&gt;",這并不是你所想要的結果。 在這種情況下,解決方案是使用不貪婪的限定符 \*?、+?、?? 或 {m,n}?,盡可能匹配小的文本。在上面的例子里, "&gt;" 在第一個 "&lt;" 之后被立即嘗試,當它失敗時,引擎一次增加一個字符,并在每步重試 "&gt;"。這個處理將得到正確的結果: ``` #!python >>> print re.match('<.*?>', s).group() <html> ``` 注意用正則表達式分析 HTML 或 XML 是痛苦的。變化混亂的模式將處理常見情況,但 HTML 和 XML 則是明顯會打破正則表達式的特殊情況;當你編寫一個正則表達式去處理所有可能的情況時,模式將變得非常復雜。象這樣的任務用 HTML 或 XML 解析器。
                  <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>

                              哎呀哎呀视频在线观看