^
表示开始,$
表示结束?
表示0个或1个,*
表示0个或多个,+
表示1个或多个|
相当于or{}
括号内的数字表示几个,例如a{2}
表示两个a,(ab){1,3}
表示1到3个ab,{2,}
表示至少两个.
表示单一字符[]
只匹配一个单一字符,例如[0-9]
表示0-9任意一个数字,[a-z]
表示a-z任意一个字母- “
%[^a-zA-Z]%
” 匹配含有 两个百分号里面有一个非字母 的字符串 \d
与[0-9]
一样匹配任意一个数字,\D
等效于[^0-9]
- 匹配详解
1)^[0-9]{1,3}(,[0-9]{3})*(/.[0-9]{1,2})?$
允许1到2位小数,然后整数部分每个三位使用逗号隔开
匹配的数字有10,000 、10.2等
2)^(0│-?[1-9][0-9]*)$
允许匹配正负数还有0
3)^[_a-z0-9-]+(/.[_a-z0-9-]+)*@[a-z0-9-]+(/.[a-z0-9-]+)*$
邮箱匹配,用户名允许有下划线,服务器不允许有下划线,名字里面允许包含. - 分组切割
1)(.)\\1+(.)\\2+
快快乐乐这样的叠词
(.)
表示一个分组,里面.表示任意字符,\\1
表示组1又出现了一次,\\2
表示组2又出现了一次
2)(..)\\1
快乐快乐 - 替换
1)正则:(.*)(程序员)(.*)
替换为:$1
工程师$3
$1
和$3
分别代表第1个和第3个括号内匹配到的内容
正则表达式规则详解
最新推荐文章于 2025-03-04 22:12:32 发布