正则表达式中常见的符号和用法
正则表达式还有很多有用的符号和用法。以下是一些常见的正则表达式元素及其用法:
常用的正则表达式元素
\d
: 匹配任何数字,等价于[0-9]
。\D
: 匹配任何非数字字符,等价于[^0-9]
。\w
: 匹配任何字母数字字符(包括下划线),等价于[A-Za-z0-9_]
。\W
: 匹配任何非字母数字字符,等价于[^A-Za-z0-9_]
。\s
: 匹配任何空白字符(包括空格、制表符、换页符等),等价于[ \t\n\x0b\f\r]
。\S
: 匹配任何非空白字符,等价于[^ \t\n\x0b\f\r]
。.
: 匹配除换行符之外的任何单个字符。
常用的正则表达式量词
*
: 匹配前面的元素零次或多次。例如,a*
匹配空字符串、a
、aa
等。+
: 匹配前面的元素一次或多次。例如,a+
匹配a
、aa
等。?
: 匹配前面的元素零次或一次。例如,a?
匹配空字符串或a
。{n}
: 精确匹配前面的元素n
次。例如,a{3}
匹配aaa
。{n,}
: 匹配前面的元素至少n
次。例如,a{2,}
匹配aa
、aaa
等。{n,m}
: 匹配前面的元素至少n
次,但不超过m
次。例如,a{2,3}
匹配aa
或aaa
。
边界匹配
^
: 匹配字符串的开头。例如,^abc
匹配以abc
开头的字符串。$
: 匹配字符串的结尾。例如,abc$
匹配以abc
结尾的字符串。\b
: 匹配单词边界。例如,\bword\b
匹配整个单词word
。\B
: 匹配非单词边界。
分组和引用
()
: 用于分组。例如,(abc)
匹配并捕获abc
。|
: 或操作符。例如,a|b
匹配a
或b
。\1
,\2
, …: 引用前面捕获的分组。例如,(\d)\1
匹配两个连续的相同数字。
特殊字符转义
\
: 用于转义特殊字符。例如,\.
匹配一个句点。
示例
-
匹配一个电子邮件地址:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
-
匹配一个IP地址:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
综合示例
假设你有一个文本,需要匹配日期格式如2023-05-22
:
\d{4}-\d{2}-\d{2}
这个正则表达式解释如下:
\d{4}
: 匹配四个数字。-
: 匹配一个连字符。\d{2}
: 匹配两个数字。-
: 匹配一个连字符。\d{2}
: 匹配两个数字。
通过掌握这些常见的正则表达式元素和用法,可以处理各种复杂的文本匹配和替换任务。
【转载自:】开思通智网
【原文链接:】https://w3.opensnn.com/os/article/10000723