专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 正则表达式语法总结

正则表达式语法总结

更新时间:2021-08-12 12:01:43 来源:动力节点 浏览831次

要创建正则表达式,您必须使用特定的语法——即特殊字符和构造规则。例如,以下是匹配任何 10 位电话号码的简单正则表达式,格式为 nnn-nnn-nnnn:

\d{3}-\d{3}-\d{4}

有关其他说明和指南,另请参阅指南使用正则表达式和正则表达式的例子。

正则表达式语法总结

下表描述了在正则表达式中使用的一些最常见的特殊字符。这些字符分类如下:

^

(插入符号)匹配正则表达式正在搜索的文本行或字符串的开头。例如,具有位置主题行和以下正则表达式的内容规则:

^abc

捕获主题行以字母abc开头的任何电子邮件

$

(美元)匹配正则表达式正在搜索的文本行或字符串的结尾。例如,具有位置主题行和以下正则表达式的内容规则:

xyz$

捕获主题行以字母xyz结尾的任何电子邮件

元字符

.

(点)匹配任何单个字符,新行除外。

|

(管道)表示交替——即“或”。例如:

cat|dog 匹配单词cat或dog

\

表示下一个字符是文字​​而不是特殊字符。例如:

\。匹配文字句点,而不是任何字符(点字符)

字符类

[...]

匹配一组字符中的任何字符。用破折号分隔集合中的第一个和最后一个字符。例如:

[123] 匹配数字1、2或3

[af] 匹配从a到f 的任何字母

注意:内容合规性策略中的正则表达式区分大小写。

[^...]

匹配不在字符集中的任何字符。例如:

[^af]

匹配不是从a到f的字母的任何字符

注意:内容合规性策略中的正则表达式区分大小写。

[:alnum:]

匹配字母数字字符(字母或数字):

az、AZ或0-9

注意:在正则表达式中使用此字符类时,必须用另一组方括号括起来,例如: [[:alnum:]] .

[:α:]

匹配字母字符(字母):

az或AZ

注意:在正则表达式中使用该字符类时,必须用另一组方括号括起来,例如:[[:alpha:]]。

[:数字:]

匹配数字:

0-9

注意:在正则表达式中使用该字符类时,必须用另一组方括号括起来,例如:[[:digit:]]。

[:图形:]

仅匹配可见字符,即除空格、控制字符等之外的任何字符。

注意:这个字符类在正则表达式中使用时必须用另一组方括号括起来,例如:[[:graph:]]。

[:点:]

匹配标点字符和符号:

! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }

注意:当你在一个字符类中使用它时,这个字符类必须用另一组方括号括起来正则表达式,例如:[[:punct:]]。

[:打印:]

匹配可见字符和空格。

注意:这个字符类在正则表达式中使用时必须用另一组方括号括起来,例如:[[:print:]]。

[:空间:]

匹配所有空白字符,包括空格、制表符和换行符。

注意:这个字符类在正则表达式中使用时必须用另一组方括号括起来,例如:[[:space:]]。

[:单词:]

匹配任何单词字符——即任何字母、数字或下划线:

az、AZ、0-9或 _

注意:在正则表达式中使用该字符类时,必须用另一组方括号括起来,例如例如:[[:word:]]。

速记字符类

\w

匹配任何单词字符——即任何字母、数字或下划线:

az、AZ、0-9或 _

等效于 [:word:]

\W

匹配任何非单词字符,即不是字母、数字或下划线的任何字符。

相当于 [^[:word:]]

\s

匹配任何空白字符。例如,使用此字符指定短语中单词之间的空格:

stock\stips 匹配短语stock tips

等效于 [:space:]

\S

匹配任何非空格字符。

相当于 [^[:space:]]

\d

匹配 0-9 之间的任何数字。

相当于 [:digit:]

\D

匹配任何不是 0-9 数字的字符。

相当于 [^[:digit:]]

团体

(……)

对表达式的部分进行分组。使用分组将量词应用于组或匹配组之前或之后的字符类。

量词

{n}

精确匹配前面的表达式 n 次。例如:

[ac]{2}仅当连续出现两个字母时才匹配从a到c 的任何字母。因此,表达式将匹配ab和bc但不匹配abc或aabbc。

{n,m}

匹配前面的表达式最少 n 次,最多 m 次。例如:

[ac]{2,4}仅当字母连续出现最少 2 次和最多 4 次时才匹配从a到c 的任何字母。因此,表达式将匹配ab和abc但不匹配 aabbc。

?

表示前面的字符或表达式可以匹配 0 次或 1 次。等效于范围 {0,1}。例如,以下正则表达式:

colou?r

匹配color或color,因为? 使字母u可选。

正则表达式字符限制

不支持包含以下特殊字符的正则表达式,因为它们会导致处理电子邮件的延迟:

*(星号)

+(加号)

以上就是动力节点小编介绍的"正则表达式语法总结",希望对大家有帮助,想了解更多可查看Java在线学习。动力节点在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>