正则化表达式
正则表达式(Regular Expression,简称 regex 或 regexp)是一种用来描述字符串模式的工具。它通过一系列的特殊字符组合,定义了一个搜索或匹配字符串的规则,常用于文本搜索、替换和验证。
基本概念
正则表达式的核心思想是通过某种规则来“匹配”或“查找”字符串中的特定部分。它可以用来检查一个字符串是否符合某个模式、提取特定的部分,或替换文本。
常见正则表达式元素
-
字符匹配:
a
:匹配字符'a'
。.
:匹配任意单个字符(除了换行符)。\d
:匹配一个数字,等同于[0-9]
。\D
:匹配一个非数字字符,等同于[^0-9]
。\w
:匹配一个单词字符(字母、数字、下划线),等同于[a-zA-Z0-9_]
。\W
:匹配一个非单词字符,等同于[^a-zA-Z0-9_]
。\s
:匹配一个空白字符(空格、制表符、换行符等)。\S
:匹配一个非空白字符。
-
字符集和范围:
[abc]
:匹配字符'a'
、'b'
或'c'
。[a-z]
:匹配任何小写字母。[0-9]
:匹配任何数字。[^abc]
:匹配除了'a'
、'b'
和'c'
以外的任何字符。
-
数量匹配符:
*
:匹配前面的字符 0 次或多次。例如,a*
会匹配空字符串、a
、aa
、aaa
等。+
:匹配前面的字符 1 次或多次。例如,a+
会匹配'a'
、'aa'
、'aaa'
等,但不匹配空字符串。?
:匹配前面的字符 0 次或 1 次。例如,a?
会匹配空字符串或'a'
。{n}
:匹配前面的字符恰好 n 次。例如,a{3}
会匹配