正则表达式总表-创新互联

正则表达式[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 指明的控制字符。
x范围:a-z或A-Z之间的字符。

\cJ
\cL
\cM

匹配一个换行符

匹配一个换页符

匹配一个回车符

\xn

匹配两个十六进制数字表示的ASCLL编码字符

\x41

匹配一个A字符

\un

匹配四个十六进制数字表示的Unicode字符

\u00A9

匹配一个版权符©

定位符

符号

含义

举例

说明

^

脱字符起始匹配,匹配字符串开始字符

^a
^d
^w

匹配一个以a开头的字符及字符串
匹配一个以数字开头的字符及字符串
匹配一个以数字、字符、下划线开头的字符及字符串

$

美元符号结尾匹配,匹配字符串结束字符

$a
$d
$w

匹配一个以a结尾的字符及字符串
匹配一个以数字结尾的字符及字符串
匹配一个以数字、字符、下划线结尾的字符及字符串

\b

英语单词边界匹配

e\b

匹配一个以e结尾的单词,例如:
three、five、nice

\B

英语单词非边界匹配

a\b

匹配一个以a开头的单词,例如:
apple、arm、art

限定符

符号

含义

举例

说明

?

匹配次数至少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_
红色代表第一组,绿色代表第二组。
第一组:数字字符,分组号为1
第二组:数字、字母、下划线字符,分组号为2
注:分组号为0代表整个字符。

捕获分组

符号

含义

举例

说明

(pattern)

非命名捕获

(\d)

匹配一个组号为1的数字字符
注:分组号为0代表整个字符。

(?pattern)

命名捕获

(?\d)(?\w)

匹配第一组名group1或组号为1的数字字符及第二组组名group2或组号为2的数字/字母/下划线字符。
注:分组号为0代表整个字符。

非捕获分组

符号

含义

举例

说明

(?:pattern)

选择非命名捕获

(?:y|ies)

匹配一个字符串中包含y或者ies
例如:industr(?:y|ies)
它匹配有:industry 和 industries
注:它不具备分组号及分组名

(?=pattern)

等值非命名捕获

(?=95|98|NT|2000)

匹配一个字符串中只能包含:
95或98或NT或2000
例如:Windows(?=95|98|NT|2000)
它匹配有:Windows95、Windows98
WindowsNT、Windwos2000

(?!pattern)

非等值非命名捕获

(?!95|98|NT|2000)

匹配一个字符串中不能包含:
95或98或NT或2000
例如:Windows(?=95|98|NT|2000)
它匹配有:Windows7、Windows8
Windows10、Windows11、WindowXP等

(?<=pattern)

反向等值非命名捕获

(?<95|98|NT|2000)

匹配一个字符串中以95、98、NT、2000开头的字符串
例如:Windows(?<95|98|NT|2000)
它匹配有:95Windows、98Windows
NTWindows、2000Windwos

(?<=!pattern)

反向非等值非命名捕获

(?<=!95|98|NT|2000)

匹配一个字符串中不是以95、98、NT、2000开头的字符串
例如:Windows(?它匹配有:7Windows、8Windows
10Windows、11Windwos等

特殊匹配字符

符号

含义

举例

说明

.

点匹配符,匹配除换行符\n\r之外的字符

.

匹配除了了换行符\n\r以外的一个所有字符。例如:数字字符、字母字符、下划线、制表符、换页符等

注:一个点匹配符只能对应一个字符;二个点匹配符只能对应两个字符。[除了换行符]

\

转义字符

\\

匹配一个反斜杠符。

-

连字符

[0-9]

[a-z]
[A-Z]

匹配一个0-9及以内的数字字符。
匹配一个a-z及以内的小写字母字符。
匹配一个A-Z及以内的大写字母字符。

^

非字符,取反字符

[^0-9]

[^a-z]
[^A-Z]

匹配一个不是0-9及以内的数字字符。
匹配一个不是a-z及以内的小写字母字符。
匹配一个不是A-Z及以内的大写字母字符。

内部反向引用符

符号

含义

举例

说明

\\分组号

匹配分组之后的第多少组

(d)\\1(a-z)\\2

匹配两个相同的数字及两个相同的小写字母

例如:11aa、22bb、33xx

\\分组名

匹配分组之后的第多少组

(?d)\\group1(?d)\\group2

匹配两个相同的数字及两个相同的小写字母

例如:11aa、22bb、33xx

外部反向引用符

符号

含义

举例

说明

$分组号

匹配分组之后的第多少组

先有内部反向引用表达式:(d)\\1(a-z)\\2
再使用外部反向引用符:$1$2

先匹配两个相同的数字及两个相同的小写字母

例如:11aa、22bb、33xx

之后又从已有的内部反向引用进行了外部反向引用操作,结果为:1a、2b、3x
11aa内部反向引用对应1a外部反向引用。

22bb内部反向引用对应2b外部反向引用。

33xx内部反向引用对应3x外部反向引用。

注:
1、支持分组捕获。
2、先有内部反向引用,才会有外部反向引用。

$分组名

匹配分组之后的第多少组

先有内部反向引用表达式:(?d)\\1(?a-z)\\2
再使用外部反向引用符:$group1$group2或$1$2

先匹配两个相同的数字及两个相同的小写字母

例如:11aa、22bb、33xx

之后又从已有的内部反向引用进行了外部反向引用操作,结果为:1a、2b、3x
11aa内部反向引用对应1a外部反向引用。

22bb内部反向引用对应2b外部反向引用。

33xx内部反向引用对应3x外部反向引用。

注:
1、支持分组捕获。
2、先有内部反向引用,才会有外部反向引用。

模式匹配符

符号

含义

举例

说明

i

不区分大小写

正则表达式:/hello/i

被匹配的字符串:heLLO HELLO

它只会首次满足条件的匹配:heLLO字符串

g

全局匹配

正则表达式:/hello/g

被匹配的字符串:hello heLLO hello HELLO

它只会匹配一行中的所有hello字符串

m

多行匹配

正则表达式:/hello/m
被匹配的字符串: hello\nheLLO\nhello

他会匹配所有行中的所有hello字符串

s

点匹配符中包含换行符

正则表达式:/hello/s

被匹配的字符串:hello\nhello\thello

他只会匹配首次出现的hello

若其中读者发现了有错或有争论的问题,肯请读者指出并加以改正,谢谢。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章题目:正则表达式总表-创新互联
新闻来源:http://scyanting.com/article/digcgi.html