赞
踩
类别 | 表示 |
C | (所有控制字符)Cc、Cf、Cs、Co 和 Cn。 |
L | (所有字母)Lu、Ll、Lt、Lm 和 Lo。 |
M | (所有附加符号标记)Mn、Mc 和 Me。 |
N | (所有数字)Nd、Nl 和 No。 |
P | (所有标点)Pc、Pd、Ps、Pe、Pi、Pf 和 Po。 |
S | (所有符号)Sm、Sc、Sk 和 So。 |
Z | (所有分隔符)Zs、Zl 和 Zp。 |
字符 | 说明 |
$ 数字 | 替换按组号 number(十进制)匹配的最后一个子字符串。 |
${ name } | 替换由 (?<name> ) 组匹配的最后一个子字符串。 |
$$ | 替换单个“$”字符。 |
$& | 替换完全匹配本身的一个副本。 |
$` | 替换匹配前的输入字符串的所有文本。 |
$' | 替换匹配后的输入字符串的所有文本。 |
$+ | 替换最后捕获的组。 |
$_ | 替换整个输入字符串。 |
分组构造 | 说明 |
( 子表达式 ) | 捕获匹配的子表达式(或非捕获组;有关更多信息,请参见正则表达式选项中的 ExplicitCapture 选项)。使用 () 的捕获基于左括号按顺序从 1 开始自动编号。捕获元素编号为零的第一个捕获是由整个正则表达式模式匹配的文本。 |
(?< name > 子表达式) | 将匹配的子表达式捕获到一个组名称或编号名称中。用于 name 的字符串不得包含任何标点符号,并且不能以数字开头。可以使用单引号替代尖括号,例如 (?'name')。 |
(?< name1 - name2 > 子表达式) | (平衡组定义。) 删除先前定义的 name2 组的定义,并在 name1 组中存储先前定义的 name2 组和当前组之间的间隔。如果未定义 name2 组,则匹配将回溯。由于删除 name2 的最后一个定义会显示 name2 的先前定义,因此该构造允许将 name2 组的捕获堆栈用作计数器,用于跟踪嵌套构造(如括号)。在此构造中,name1 是可选的。可以使用单引号替代尖括号,例如 (?'name1-name2')。有关更多信息,请参见本主题中的示例。 |
(?: 子表达式) | (非捕获组。) 不捕获由子表达式匹配的子字符串。 |
(?imnsx-imnsx: 子表达式) | 应用或禁用子表达式中指定的选项。例如,(?i-s: ) 将打开不区分大小写并禁用单行模式。有关更多信息,请参见正则表达式选项。 |
(?= 子表达式) | (零宽度正预测先行断言。) 仅当子表达式在此位置的右侧匹配时才继续匹配。例如,\w+(?=\d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。 |
(?! 子表达式) | (零宽度负预测先行断言。) 仅当子表达式不在此位置的右侧匹配时才继续匹配。例如,\b(?!un)\w+\b 与不以 un 开头的单词匹配。 |
(?<= 子表达式) | (零宽度正回顾后发断言。) 仅当子表达式在此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。 |
(?<! 子表达式) | (零宽度负回顾后发断言。) 仅当子表达式不在此位置的左侧匹配时才继续匹配。 |
(?> 子表达式) | (非回溯子表达式(也称为“贪婪”子表达式)。) 该子表达式仅完全匹配一次,然后就不会逐段参与回溯了。(也就是说,该子表达式仅与可由该子表达式单独匹配的字符串匹配。)默认情况下,如果匹配未成功,回溯会搜索其他可能的匹配。如果已知无法成功回溯,可以使用非回溯子表达式避免不必要的搜索,从而提高性能。 |
编号 | 名称 | 模式 |
0 | 0(默认名称) | ((?<One>abc)\d+)?(?<Two>xyz)(.*) |
1 | 1(默认名称) | ((?<One>abc)\d+) |
2 | 2(默认名称) | (.*) |
3 | 1 | (?<One>abc) |
4 | 2 | (?<Two>xyz) |
表达式 | 语法 | 说明 | 示例 |
最少、零个或更多个 | @ | 匹配前面表达式的 0 个或更多搜索项,并匹配尽可能少的字符。 | e.@e 匹配“enterprise”中的“ente”和“erprise”,但不匹配完整的单词“enterprise”。 |
最少、一个或更多个 | # | 匹配前面表达式的一个或更多搜索项,并匹配尽可能少的字符。 | ac# 匹配包含字母“a”和至少一个字母“c”的单词,如“ace”。a.#s 匹配单词“access”中的“acces”。 |
重复 n 次 | ^n | 匹配前面表达式的 n 次出现。 | [0-9]^4 匹配任意 4 位数字的序列。 |
分组 | () | 允许将一组表达式组合在一起。如果要在一次操作中搜索两个不同的表达式,可以使用分组表达式来组合这两个表达式。 | 如果要搜索 - [a-z][1-3] 或 - [1-10][a-z],应按如下方式组合这两个表达式:([a-z][1-3]) | ([1-10][a-z])。 |
第 n 个带标记的文本 | \n | 在“查找”或“替换”表达式中,指示第 n 个带标记的表达式所匹配的文本,其中 n 是从 1 至 9 的数字。在“替换”表达式中,\0 插入整个匹配的文本。 | 如果搜索 a{[0-9]},并替换为 \1,则“a”后跟数字的所有搜索项由跟随的数字替换。例如,“a1”由“1”替换,类似地,“a2”由“2”替换。 |
右对齐字段 | \(w,n) | 在“替换”表达式中,将字段中第 n 个带标记的表达式右对齐至少 w 字符宽。 | 如果搜索 a{[0-9]},并替换为 \(10,1),则“an”的搜索项由整数替换,并通过 10 个空格右对齐。 |
左对齐字段 | \(-w,n) | 在“替换”表达式中,将字段中第 n 个带标记的表达式左对齐至少 w 字符宽。 | 如果搜索 a{[0-9]},并替换为 \(-10,1),则“an”由整数替换,并通过 10 个空格左对齐。 |
禁止匹配 | ~(X) | 当 X 出现在表达式中的此位置时禁止匹配。 | real~(ity) 匹配“realty”和“really”中的“real”,但不匹配“reality”中的“real”。 |
字母数字字符 | :a | 匹配表达式 ([a-zA-Z0-9])。 | 匹配任何字母数字字符,如“a”、“A”、“w”、“W”、“5”等等。 |
字母字符 | :c | 匹配表达式 ([a-zA-Z])。 | 匹配任何字母字符,如“a”、“A”、“w”、“W”等等。 |
十进制数字 | :d | 匹配表达式 ([0-9])。 | 匹配任何数字,如“4”和“6”。 |
十六进制数 | :h | 匹配表达式 ([0-9a-fA-F]+)。 | 匹配任何十六进制数,如“1A”、“ef”和“007”。 |
有理数 | :n | 匹配表达式 (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+))。 | 匹配任何有理数,如“2007”、“1.0”和“.9”。 |
字母字符串 | :w | 匹配表达式 ([a-zA-Z]+)。 | 匹配任何仅包含字母字符的字符串。 |
转义符 | \e | Unicode U+001B。 | 匹配“转义”控制字符。 |
Bell | \g | Unicode U+0007。 | 匹配“Bell”控制字符。 |
Backspace | \h | Unicode U+0008。 | 匹配“Backspace”控制字符。 |
制表符 | \t | Unicode U+0009。 | 制表符匹配。 |
Unicode 字符 | \x#### 或 \u#### | 匹配 Unicode 值给定的字符,其中 #### 是十六进制数。可以用 ISO 10646 代码点或两个提供代理项对的值的 Unicode 代码点指定基本多语种平面(即一个代理项)外的字符。 | \u0065 匹配字符“e”。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。