正则表达式(Regular Expression,简称regex或regexp)是一种强大的文本处理工具,它由一系列特殊字符和普通字符组成,用于描述、匹配和操作文本中具有某种共同模式的字符串。正则表达式在很多编程语言和文本编辑器中广泛使用,可以帮助用户进行搜索、替换、提取符合特定规则的文本。
以下是一些基本的正则表达式元字符及其含义:
.
:匹配任意单个字符(除换行符外)。*
:前一个元素出现零次或多次。+
:前一个元素至少出现一次。?
:前一个元素出现零次或一次。{m,n}
:前一个元素出现m到n次(例如,a{3,5}
匹配连续3到5个'a'字符)。^
:匹配字符串开始位置(在方括号表达式中表示不包含的意思)。$
:匹配字符串结束位置。[abc]
:字符集,匹配其中任何一个字符(如[abc]
匹配'a'、'b'或'c')。[^abc]
:负向字符集,匹配不在方括号内的任何字符。|
:或运算符,匹配左右两边的任何一个表达式(例如,cat|dog
匹配'cat'或'dog')。\d
:匹配数字(等同于[0-9]
)。\D
:匹配非数字字符。\w
:匹配字母、数字或下划线(等同于[A-Za-z0-9_]
)。\W
:匹配非字母、数字或下划线字符。\s
:匹配空白字符(包括空格、制表符、换页符等)。\S
:匹配非空白字符。()
:分组,对内部表达式作为一个整体处理,并可用于后向引用或捕获组。
举例说明:
- 正则表达式
/runoo+b/
匹配以 'runo' 开头,后面跟着一个或多个 'o' 的字符串。 - 正则表达式
/^\d{3}-\d{2}-\d{4}$/
匹配格式如 '123-45-6789' 的美国社会安全号码(SSN)格式。
正则表达式的功能远比上述内容复杂丰富,可以构造出极其复杂的模式来精确匹配各种文本场景。