⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch05_03.htm

📁 编程珍珠,里面很多好用的代码,大家可以参考学习呵呵,
💻 HTM
📖 第 1 页 / 共 3 页
字号:
syntactic extensions.  These metasymbols are all of the form<tt class="literal">(?</tt><em class="replaceable">KEY</em><tt class="literal">...)</tt>;that is, a (balanced) parenthesis followed by a question mark,followed by a <em class="replaceable">KEY</em> and the rest of thesubpattern.  The <em class="replaceable">KEY</em> character indicateswhich particular regex extension it is.  See<a href="ch05_03.htm#perl3-tab-extended-regexes">Table 5-6</a> for a list of these.  Mostof them behave structurally since they're based on parentheses, but theyalso have additional meanings.  Again, only atoms may be quantifiedbecause they represent something that's really there (potentially).<a name="INDEX-1495"></a></p><a name="perl3-tab-extended-regexes"></a><h4 class="objtitle">Table 5.6. Extended Regex Sequences</h4><table border="1"><tr><th>Extension</th><th>Atomic</th><th>Meaning</th></tr><tr><td><tt class="literal">(?#...)</tt></td><td>No</td><td><p>Comment, discard.</p></td></tr><tr><td><tt class="literal">(?:...)</tt></td><td>Yes</td><td><p>Cluster-only parentheses, no capturing.</p></td></tr><tr><td><tt class="literal">(?imsx-imsx)</tt></td><td>No</td><td><p>Enable/disable pattern modifiers.</p></td></tr><tr><td><tt class="literal">(?imsx-imsx:...)</tt></td><td>Yes</td><td>Cluster-only parentheses plus modifiers.</td></tr><tr><td><tt class="literal">(?=...)</tt></td><td>No</td><td><p>True if lookahead assertion succeeds.</p></td></tr><tr><td><tt class="literal">(?!...)</tt></td><td>No</td><td><p>True if lookahead assertion fails.</p></td></tr><tr><td><tt class="literal">(?&lt;=...)</tt></td><td>No</td><td><p>True if lookbehind assertion succeeds.</p></td></tr><tr><td><tt class="literal">(?&lt;!...)</tt></td><td>No</td><td><p>True if lookbehind assertion fails.</p></td></tr><tr><td><tt class="literal">(?&gt;...)</tt></td><td>Yes</td><td><p>Match nonbacktracking subpattern.</p></td></tr><tr><td><tt class="literal">(?{...})</tt></td><td>No</td><td><p>Execute embedded Perl code.</p></td></tr><tr><td><tt class="literal">(??{...})</tt></td><td>Yes</td><td>Match regex from embedded Perl code.</td></tr><tr><td><tt class="literal">(?(...)...|...)</tt></td><td>Yes</td><td><p>Match with if-then-else pattern.</p></td></tr><tr><td><tt class="literal">(?(...)...)</tt></td><td>Yes</td><td><p>Match with if-then pattern.</p></td></tr></table><p><a name="INDEX-1496"></a><a name="INDEX-1497"></a>And finally, <a href="ch05_03.htm#perl3-tab-regex-meta-alpha">Table 5-7</a> shows all of yourfavorite alphanumeric metasymbols.  (Symbols that are processed by thevariable interpolation pass are marked with a dash in the Atomiccolumn, since the Engine never even sees them.)</p><a name="perl3-tab-regex-meta-alpha"></a><h4 class="objtitle">Table 5.7. Alphanumeric Regex Metasymbols</h4><table border="1"><tr><th>Symbol</th><th>Atomic</th><th>Meaning</th></tr><tr><td><tt class="literal">\0</tt></td><td>Yes</td><td><p>Match the null character (ASCII NUL).</p></td></tr><tr><td><tt class="literal">\</tt><em class="replaceable">NNN</em></td><td>Yes</td><td><p>Match the character given in octal, up to <tt class="literal">\377</tt>.</p></td></tr><tr><td><tt class="literal">\</tt><em class="replaceable">n</em></td><td>Yes</td><td><p>Match <em class="replaceable">n</em>th previously captured string (decimal).</p></td></tr><tr><td><tt class="literal">\a</tt></td><td>Yes</td><td><p>Match the alarm character (BEL).</p></td></tr><tr><td><tt class="literal">\A</tt></td><td>No</td><td><p>True at the beginning of a string.</p></td></tr><tr><td><tt class="literal">\b</tt></td><td>Yes</td><td><p>Match the backspace character (BS).</p></td></tr><tr><td><tt class="literal">\b</tt></td><td>No</td><td><p>True at word boundary.</p></td></tr><tr><td><tt class="literal">\B</tt></td><td>No</td><td><p>True when not at word boundary.</p></td></tr><tr><td><tt class="literal">\c</tt><em class="replaceable">X</em></td><td>Yes</td><td>Match the control character Control-<em class="replaceable">X</em> (<tt class="literal">\cZ</tt>, <tt class="literal">\c[</tt>, etc.).</td></tr><tr><td><tt class="literal">\C</tt></td><td>Yes</td><td>Match one byte (C <tt class="literal">char</tt>) even in utf8 (dangerous).</td></tr><tr><td><tt class="literal">\d</tt></td><td>Yes</td><td><p>Match any digit character.</p></td></tr><tr><td><tt class="literal">\D</tt></td><td>Yes</td><td><p>Match any nondigit character.</p></td></tr><tr><td><tt class="literal">\e</tt></td><td>Yes</td><td>Match the escape character (ASCII ESC, not backslash).</td></tr><tr><td><tt class="literal">\E</tt></td><td>--</td><td><p>End case (<tt class="literal">\L</tt>, <tt class="literal">\U</tt>) or metaquote (<tt class="literal">\Q</tt>) translation.</p></td></tr><tr><td><tt class="literal">\f</tt></td><td>Yes</td><td><p>Match the form feed character (FF).</p></td></tr><tr><td><tt class="literal">\G</tt></td><td>No</td><td><p>True at end-of-match position of prior <tt class="literal">m//g</tt>.</p></td></tr><tr><td><tt class="literal">\l</tt></td><td>--</td><td><p>Lowercase the next character only.</p></td></tr><tr><td><tt class="literal">\L</tt></td><td>--</td><td><p>Lowercase till <tt class="literal">\E</tt>.</p></td></tr><tr><td><tt class="literal">\n</tt></td><td>Yes</td><td>Match the newline character (usually NL, but CR on Macs).</td></tr><tr><td><tt class="literal">\N{</tt><em class="replaceable">NAME</em><tt class="literal">}</tt></td><td>Yes</td><td><p>Match the named char (<tt class="literal">\N{greek:Sigma}</tt>).</p></td></tr><tr><td><tt class="literal">\p{</tt><em class="replaceable">PROP</em><tt class="literal">}</tt></td><td>Yes</td><td><p>Match any character with the named property.</p></td></tr><tr><td><tt class="literal">\P{</tt><em class="replaceable">PROP</em><tt class="literal">}</tt></td><td>Yes</td><td>Match any character without the named property.</td></tr><tr><td><tt class="literal">\Q</tt></td><td>--</td><td><p>Quote (de-meta) metacharacters till <tt class="literal">\E</tt>.</p></td></tr><tr><td><tt class="literal">\r</tt></td><td>Yes</td><td><p>Match the return character (usually CR, but NL on Macs).</p></td></tr><tr><td><tt class="literal">\s</tt></td><td>Yes</td><td><p>Match any whitespace character.</p></td></tr><tr><td><tt class="literal">\S</tt></td><td>Yes</td><td><p>Match any nonwhitespace character.</p></td></tr><tr><td><tt class="literal">\t</tt></td><td>Yes</td><td><p>Match the tab character (HT).</p></td></tr><tr><td><tt class="literal">\u</tt></td><td>--</td><td><p>Titlecase next character only.</p></td></tr><tr><td><tt class="literal">\U</tt></td><td>--</td><td><p>Uppercase (not titlecase) till <tt class="literal">\E</tt>.</p></td></tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -