作者:佳佳的梦Aas | 来源:互联网 | 2024-11-26 06:49
本文旨在为编程爱好者提供一份详尽的正则表达式指南,涵盖基础知识、常用指令及实际应用案例,希望对您的学习有所帮助。
正则表达式概述
基本元素
\w
匹配任何字母、数字或下划线(等同于 [a-zA-Z0-9_])
\d
匹配任何数字(等同于 [0-9])
\s
匹配任何空白字符,包括空格、制表符、换页符等
\b
匹配单词边界,即单词与非单词字符之间的位置
\u4e00-\u9fa5
用于匹配中文字符
^
在字符类 [] 内表示否定,在字符类外表示字符串的开始
$
表示字符串的结束
.
匹配除换行符以外的任何单个字符
?
表示前面的字符可出现零次或一次
{n}
表示前面的字符恰好出现 n 次
{m,n}
表示前面的字符至少出现 m 次,但不超过 n 次,非贪婪模式优先匹配最小值 m
{m,n}?
贪婪模式,优先匹配最大值 n
+
等价于 {1,},表示前面的字符至少出现一次
*
等价于 {0,},表示前面的字符可以不出现,也可以无限次出现
()
用于分组,可以提取匹配的子串
|
表示“或”关系,选择多个表达式中的一个进行匹配
(?:表达式)
非捕获分组,用于组合子表达式而不捕获结果
\n
回溯引用,引用第 n 个捕获的子串
应用实例
身份证验证
支持15位或18位身份证号,其中18位的最后一位可以是 X 或 x:
(^\d{15}$)|(^\d{18}$)|(^\d{17}[\dXx])$
密码验证
密码由字母、数字和下划线组成,必须以字母开头,长度在6到15位之间:
^[a-zA-Z][a-zA-Z0-9_]{5,14}$
HTTP URL 匹配
匹配标准的 HTTP URL 地址:
^http://([\w-]+\.)*[\w-]+(/[\w-./?%=&]*)?$
以上实例可以帮助您更好地理解正则表达式的应用。建议通过编写代码来实践这些表达式,以加深理解和记忆。