\
将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。例如,'n'匹配字符 "n"。'\n'匹配一个换行符。序列 '\'匹配 ""而 "\("则匹配 "("。
^
匹配输入字符串的开始位置。如果设置了 RegExp对象的 Multiline属性,^也匹配 '\n'或 '\r'之后的位置。
$
匹配输入字符串的结束位置。如果设置了RegExp对象的 Multiline属性,$也匹配 '\n'或 '\r'之前的位置。
*
匹配前面的子表达式零次或多次。例如,zo*能匹配 "z"以及 "zoo"。 *等价于{0,}。
+匹配前面的子表达式一次或多次。例如,'zo+'能匹配 "zo"以及 "zoo",但不能匹配 "z"。+等价于 {1,}。
?
匹配前面的子表达式零次或一次。例如,"do(es)?"可以匹配 "do"或 "does"中的"do"。?等价于 {0,1}。
{n}
n是一个非负整数。匹配确定的 n次。例如,'o{2}'不能匹配 "Bob"中的 'o',但是能匹配 "food"中的两个 o。
{n,}
n是一个非负整数。至少匹配n次。例如,'o{2,}'不能匹配 "Bob"中的 'o',但能匹配 "foooood"中的所有 o。'o{1,}'等价于 'o+'。'o{0,}'则等价于 'o*'。
{n,m}
m和 n均为非负整数,其中n <= m。最少匹配 n次且最多匹配 m次。刘, "o{1,3}"将匹配 "fooooood"中的前三个 o。'o{0,1}'等价于 'o?'。请注意在逗号和两个数之间不能有空格。
?
当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?'将匹配单个 "o",而 'o+'将匹配所有 'o'。
.
匹配除 "\n"之外的任何单个字符。要匹配包括 '\n'在内的任何字符,请使用象 '[.\n]'的模式。
(pattern)
匹配pattern并获取这一匹配。所获取的匹配可以从产生的 Matches集合得到,在VBScript中使用 SubMatches集合,在JScript中则使用 {CONTENT}… 属性。要匹配圆括号字符,请使用 '\('或 '\)'。
(?:pattern)
匹配 pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或"字符 (|)来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies)就是一个比 'industry|industries'更简略的表达式。
(?=pattern)
正向预查,在任何匹配 pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)'能匹配 "Windows 2000"中的 "Windows",但不能匹配 "Windows 3.1"中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
(?!pattern)
负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)'能匹配 "Windows 3.1"中的 "Windows",但不能匹配 "Windows 2000"中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
反向引用提供查找重复字符组的方便的方法。它们可被认为是再次匹配同一个字符串的快捷指令。
例如,若要查找重复且相邻的字符(如单词“tall”中的两个 L),可以使用正则表达式 (?<char>\w)\k<char>
,该正则表达式使用元字符 \w
来查找任何单个单词的字符。分组构造 (?<char> )
将元字符括在其中,以强制正则表达式引擎记住子表达式匹配(在此示例中将是任意单个字符),并以名称“char”保存它。
\k<char>
(接上面)反向引用构造\k<char> 使引擎对当前字符和以名称“char”存储的先前匹配字符进行比较。只要单个字符与其前面的字符相同,整个正则表达式就可以找到一个匹配。
x|y
匹配 x或 y。例如,'z|food'能匹配 "z"或 "food"。'(z|f)ood'则匹配 "zood"或 "food"。
[xyz]
字符集合。匹配所包含的任意一个字符。例如, '[abc]'可以匹配 "plain"中的 'a'。
[^xyz]
负值字符集合。匹配未包含的任意字符。例如, '[^abc]'可以匹配 "plain"中的'p'。
[a-z]
字符范围。匹配指定范围内的任意字符。例如,'[a-z]'可以匹配 'a'到 'z'范围内的任意小写字母字符。
[^a-z]
负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]'可以匹配任何不在 'a'到 'z'范围内的任意字符。
\b
匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b'可以匹配"never"中的 'er',但不能匹配 "verb"中的 'er'。
\B
匹配非单词边界。'er\B'能匹配 "verb"中的 'er',但不能匹配 "never"中的 'er'。
\cx
匹配由x指明的控制字符。例如, \cM匹配一个 Control-M或回车符。 x的值必须为 A-Z或 a-z之一。否则,将 c视为一个原义的 'c'字符。
\d
匹配一个数字字符。等价于 [0-9]。
\D
匹配一个非数字字符。等价于 [^0-9]。
\f
匹配一个换页符。等价于 \x<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="C" w:st="on">0c</chmetcnv>和 \cL。
\n
匹配一个换行符。等价于 \x<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="a" w:st="on">0a</chmetcnv>和 \cJ。
\r
匹配一个回车符。等价于 \x0d和 \cM。
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t
匹配一个制表符。等价于 \x09和 \cI。
\v
匹配一个垂直制表符。等价于 \x0b和 \cK。
\w
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
\xn
匹配 n,其中 n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '\x41'匹配 "A"。'\x041'则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII编码。.
\num
匹配 num,其中 num是一个正整数。对所获取的匹配的引用。例如,'(.)'匹配两个连续的相同字符。
\n
标识一个八进制转义值或一个后向引用。如果 \n之前至少 n个获取的子表达式,则 n为后向引用。否则,如果 n为八进制数字 (0-7),则 n为一个八进制转义值。
\nm
标识一个八进制转义值或一个后向引用。如果 \nm之前至少有is preceded by at least nm个获取得子表达式,则 nm为后向引用。如果 \nm之前至少有 n个获取,则 n为一个后跟文字 m的后向引用。如果前面的条件都不满足,若 n和 m均为八进制数字 (0-7),则 \nm将匹配八进制转义值 nm。
\nml
如果 n为八进制数字 (0-3),且 m和 l均为八进制数字 (0-7),则匹配八进制转义值 nml。
\un
匹配 n,其中 n是一个用四个十六进制数字表示的 Unicode字符。例如,\u<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="a" w:st="on">00A</chmetcnv>9匹配版权符号 (?)。
分享到:
相关推荐
Python 正则式表达 01正则表达式的概念.mp4
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换操作。它在编程、数据处理和文本挖掘等领域中广泛应用。本教程旨在深入浅出地讲解正则表达式的概念、语法和实际应用。 一、正则表达式...
Python 正则式表达 10正则表达式分组的使用.mp4
Python 正则式表达 09择一匹配符合列表的使用差异.mp4
Python 正则式表达 06原生字符串.mp4
Python 正则式表达 04重复数量限定符.mp4
Python 正则式表达 11其他函数的使用.mp4
Python 正则式表达 07边界字符的使用.mp4
Python 正则式表达 02match方法的使用.mp4
Python 正则式表达 08search方法的使用.mp4
Python 正则式表达 03常用字符的使用.mp4
对bin文件查找出指定格式字符,采用正则式表达
Python 正则式表达 12贪婪模式和非贪婪模式.mp4
Python 正则式表达 05重复数量限定符的使用.mp4
正则式是描述字符集的一种数学表达方式,广泛应用于文本处理、模式匹配等领域。而有限自动机(Finite Automaton)是一种计算模型,能够识别正则语言,通过状态转移来实现对输入字符串的处理。 设计目的: 1. 理解...
^(-((正浮点数正则式)))$ 匹配 E-mail 地址 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 匹配邮政编码 ^[1-9]\d{5}$ 匹配中文 ^[\u0391-\uFFE5]+$ 匹配电话号码 ^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-...
"正则表达式傻瓜式宝典"是一本专门介绍这一主题的中文教程,旨在帮助初学者快速理解和掌握正则表达式的使用。 该书可能涵盖了以下主要知识点: 1. **基础概念**:首先,书中会介绍正则表达式的起源和基本构成元素...
输入一个正则表达式,然后将此正则表达式转换为NFA,最后将此NFA输出 【实验要求】: 写出程序运行环境, 体会,程序结构,程序清单, 典型结果,以及结果分析 【程序运行环境】: 此程序是在Visual C++下,新建一...
广告过滤正则式 来自闻仲 可以和大家交流一下