正则表达式[Regex Expression]:又称之为规则表达式,是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念,用于查询代码/文本、分割代码/文本、替换代码/文本、提取代码/文本,在c#、JavaScript、Java、Python、Ruby语言中所被支持。
公司主营业务:成都网站设计、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出东阿免费做网站回馈大家。元字符表
字符匹配符 | |||
符号 | 含义 | 举例 | 说明 |
\d | 数字匹配,匹配0到9的数字 | \d | 匹配一个0-9及以内任意数字字符 |
\D | 非数字匹配,不匹配0到9的数字 | \D | 匹配一个不是0-9及以内任意数字字符 |
\w | 数字、字母、下滑线匹配 | \w | 匹配一个0-9或a-z或A-Z或_中任意一个字符 |
\W | 非数字、字母、下滑线匹配 | \W | 匹配一个不是0-9或a-z或A-Z或_中任意一个字符 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等 | \s | 匹配空白、空格、制表符、换页符等任意一个字符 |
\S | 匹配任何非空白字符,包括空格、制表符、换页符等 | \S | 匹配不是空白、空格、制表符、换页符等任意一个字符 |
匹配一个换行符。等价于 \x0a | 匹配一个换行符 | ||
\f | 匹配一个换页符。等价于 \x0c | \f | 匹配一个换页符 |
\t | 匹配一个制表符。等价于\x09 | \t | 匹配一个制表符 |
\v | 匹配一个垂直制表符。等价于\x0b | \v | 匹配一个垂直制表符 |
\cx | 匹配由 x 指明的控制字符。 | \cJ | 匹配一个换行符 匹配一个换页符 匹配一个回车符 |
\xn | 匹配两个十六进制数字表示的ASCLL编码字符 | \x41 | 匹配一个A字符 |
\un | 匹配四个十六进制数字表示的Unicode字符 | \u00A9 | 匹配一个版权符© |
定位符 | |||
符号 | 含义 | 举例 | 说明 |
^ | 脱字符起始匹配,匹配字符串开始字符 | ^a | 匹配一个以a开头的字符及字符串 |
$ | 美元符号结尾匹配,匹配字符串结束字符 | $a | 匹配一个以a结尾的字符及字符串 |
\b | 英语单词边界匹配 | e\b | 匹配一个以e结尾的单词,例如: |
\B | 英语单词非边界匹配 | a\b | 匹配一个以a开头的单词,例如: |
限定符 | |||
符号 | 含义 | 举例 | 说明 |
? | 匹配次数至少0次,最多1次 | \d? | 匹配零个或一个数字字符 |
* | 匹配次数至少0次,最多上限次 | \d* | 匹配一个或多个数字字符 |
+ | 匹配次数至少1次,最多上限次 | \d+ | 匹配一个或多个数字字符 |
{n} | 等次数匹配n次 | \d{10} | 匹配10个数字字符 |
{n,m} | 匹配次数至少n次,最多m次 | \d{5,10} | 匹配5个到10及以内的数字字符 |
{n,} | 匹配次数至少n次,最多上限次 | \d{5,} | 匹配5个到及以上的数字字符 |
选择符 | |||
符号 | 含义 | 举例 | 说明 |
| | 或选择符 | [a|b] | 匹配一个字符串中包含a或b的字符或字符串 |
[] | 随机选择符 | [abc123] | 匹配一个字符串中包含abc123其中一个字符 |
分组符 | |||
符号 | 含义 | 举例 | 说明 |
() | 括号分组符 | (\d)(\w) | 匹配字符串中的第一组包含一个数字字符,第二组包含一个数字、字母、下划线中任意一个字符。 例如:31、3a、3A、3_ |
捕获分组 | |||
符号 | 含义 | 举例 | 说明 |
(pattern) | 非命名捕获 | (\d) | 匹配一个组号为1的数字字符 |
(? | 命名捕获 | (? | 匹配第一组名group1或组号为1的数字字符及第二组组名group2或组号为2的数字/字母/下划线字符。 |
非捕获分组 | |||
符号 | 含义 | 举例 | 说明 |
(?:pattern) | 选择非命名捕获 | (?:y|ies) | 匹配一个字符串中包含y或者ies |
(?=pattern) | 等值非命名捕获 | (?=95|98|NT|2000) | 匹配一个字符串中只能包含: |
(?!pattern) | 非等值非命名捕获 | (?!95|98|NT|2000) | 匹配一个字符串中不能包含: |
(?<=pattern) | 反向等值非命名捕获 | (?<95|98|NT|2000) | 匹配一个字符串中以95、98、NT、2000开头的字符串 |
(?<=!pattern) | 反向非等值非命名捕获 | (?<=!95|98|NT|2000) | 匹配一个字符串中不是以95、98、NT、2000开头的字符串 |
特殊匹配字符 | |||
符号 | 含义 | 举例 | 说明 |
. | 点匹配符,匹配除换行符\n\r之外的字符 | . | 匹配除了了换行符\n\r以外的一个所有字符。例如:数字字符、字母字符、下划线、制表符、换页符等 注:一个点匹配符只能对应一个字符;二个点匹配符只能对应两个字符。[除了换行符] |
\ | 转义字符 | \\ | 匹配一个反斜杠符。 |
- | 连字符 | [0-9] [a-z] | 匹配一个0-9及以内的数字字符。 |
^ | 非字符,取反字符 | [^0-9] [^a-z] | 匹配一个不是0-9及以内的数字字符。 |
内部反向引用符 | |||
符号 | 含义 | 举例 | 说明 |
\\分组号 | 匹配分组之后的第多少组 | (d)\\1(a-z)\\2 | 匹配两个相同的数字及两个相同的小写字母 例如:11aa、22bb、33xx |
\\分组名 | 匹配分组之后的第多少组 | (? | 匹配两个相同的数字及两个相同的小写字母 例如:11aa、22bb、33xx |
外部反向引用符 | |||
符号 | 含义 | 举例 | 说明 |
$分组号 | 匹配分组之后的第多少组 | 先有内部反向引用表达式:(d)\\1(a-z)\\2 | 先匹配两个相同的数字及两个相同的小写字母 例如:11aa、22bb、33xx 之后又从已有的内部反向引用进行了外部反向引用操作,结果为:1a、2b、3x 22bb内部反向引用对应2b外部反向引用。 33xx内部反向引用对应3x外部反向引用。 注: |
$分组名 | 匹配分组之后的第多少组 | 先有内部反向引用表达式:(? | 先匹配两个相同的数字及两个相同的小写字母 例如:11aa、22bb、33xx 之后又从已有的内部反向引用进行了外部反向引用操作,结果为:1a、2b、3x 22bb内部反向引用对应2b外部反向引用。 33xx内部反向引用对应3x外部反向引用。 注: |
模式匹配符 | |||
符号 | 含义 | 举例 | 说明 |
i | 不区分大小写 | 正则表达式:/hello/i 被匹配的字符串:heLLO HELLO | 它只会首次满足条件的匹配:heLLO字符串 |
g | 全局匹配 | 正则表达式:/hello/g 被匹配的字符串:hello heLLO hello HELLO | 它只会匹配一行中的所有hello字符串 |
m | 多行匹配 | 正则表达式:/hello/m | 他会匹配所有行中的所有hello字符串 |
s | 点匹配符中包含换行符 | 正则表达式:/hello/s 被匹配的字符串:hello\nhello\thello | 他只会匹配首次出现的hello |
若其中读者发现了有错或有争论的问题,肯请读者指出并加以改正,谢谢。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧