type
status
date
slug
summary
tags
category
icon
password
行的起始^和结束$
问:如何找出所有的
cat,而不是scat,vacation等...答:使用 ^ 和 $ 正则元字符来限制
字符组 []
问:如何匹配 gray 或 grey
答: [ea]表示匹配 e 或 a
问: 如何匹配 H1- H6的html标签
答:
排除型字符组 [^]
问:匹配除了1-6的数字
答:
- 这里的排除字符,是在字符组里面的
/[^ae]/表示“除了ae” 和 之前表示范围的/^[ae]/“以a或e开头” 的含义不同。
连字符只有在[]中才有含义。/[1-9a-zA-Z]/表示所有数字和字母,/1-6/这里的连字符只是普通字符。
占位符点 .
问:如何匹配01.02.03,01-02-03,01/02/03
答:
- 用
.来表示任意字符,这种可能还会匹配到01*02*03,01 023034等,类似形式
- 用
[-./]来匹配当前存在的字符,更准确。只能匹配以上三种。这里要注意的是[-./],如果[.-/](错误写法)点在元字符的最前面,.匹配的是任意字符。而[-./]就匹配的是一个普通的.
- 元字符在字符组的最前面才有意义。如
[^123]表示:除了123的其他字符;[.123]表示:任意字符+123
- [123^123],[123.123] 中间的
^和.没有任何元字符的意义,只是平时用的普通字符。
- 具体如何使用还需要看自己的需求。
多选结构 或 |
问:如何匹配 gray 或 grey
答:
- 为什么不能
/gr[a|e]y/(错误写法)正则中在()里面使用|是有意义的表示"或",在[]使用只是一个普通字符。
(|)与[]区别:多选结构(|)可以匹配多个字符,而[]只能匹配单个字符。
问:如何同时匹配
First Street 和 1st street答:以下两种写法等价
问:
/^From|Subject|Date:/ 与 /^(From|Subject|Date):/的区别?- 第一个匹配
^FromSubjectDate:
- 第二个匹配
^From:^Subject:^Date:以这三个单词为行起始位置匹配
忽略大小写 i
问:如何匹配
DATE 和 date答:
单词分界符 \b
问:如何找出所有的
cat,而不是scat,vacation等...答:
- 类似于单词自己的起始
^结束$
- 数字的小数点前后,都可以使用分界符
量词
可选项 ?
问:如何匹配 color 和 colour
答:
?代表 u 可以出现,也可以不出现,表示出现0次到1次问:如何匹配
July fourth 表示7月可能:JulyJul表示4可能有:fourth4th4答:
- 配合
()界定多个字符
通配符
问:如何匹配所有以
.txt为结尾的文件答:
*表示出现0次到任意多次重复出现 +
问:如何匹配 H1- H6的html标签
答:
属于量词的一种,用来表示0到无数次
- 空格在正则表达式中也是一个普通字符。和123456没什么区别
问:如何匹配
<HR SIZE=14>和 <HR>答:
+表示必须要出现一次,HR后面的空格是必须要有的所以需要用+,等号后面的数字是必须要有的所以[0-9]+,字符组可以不用加()直接使用+作用于整个字符组。
?表示当前部分出现0次或者1次。也就是说可能有SIZE=14也有可能没有。
区间 {}
问:匹配出1到5个任意数字
三种量词总结
ㅤ | 次数下限 | 次数上限 | 用区间表示 |
? | 无 | 1 | {0,1} |
* | 无 | 无 | {0,} |
+ | 1 | 无 | {1,} |
反向引用 \1
问:如何匹配前后重复的单词,匹配如
the the,而不匹配the theory答:
- 单词分界
\b是用来限制不匹配the theory的情况
()是用来标识,\1反向引用的范围
\1代表和([A-Za-z]+)匹配一致的内容,如果有多个括号可以继续使用\2\3,如:/([a-z])([0-9]+)\1\2/
转义\
问:如何匹配
www.baidu.com答:
- 因为
.在正则中是有意义的,表示任意字符。所以如果想在正则中表示一个普通的.,需要在前面添加\.进行转义。这样正则就会认为这只是一个普通的.
[\.]错误写法,转义符在字符组中没有任何意义。
- 如果
\后面放的不是元字符,如\1那么它就是正则的一个语法,代表反向引用
一些小练习
变量名
问:如何匹配变量名,包含数字字母及下划线,但是不能以数字开头
答:
引号内的字符串
问:如何匹配引号内的字符串。如:
"字符串"答:
[^"]字符组中匹配为非字符串的内容。美元
问:如何匹配美元金额
答:
小时
问:如何匹配
9:17 am或者 12:30 pm 12小时制答:
问:匹配24小时制
答:
- 作者:yingwinwin
- 链接:https://yingwinwin.top/article/2dcf47d9-261d-43b2-ba99-a638c6368f3a
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章





