关于正则有意思的事情

前端之家收集整理的这篇文章主要介绍了关于正则有意思的事情前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

-sublime是文本编辑器,所以冒号不会当成是字符串的开始,他已经成为了文本字符。
- 冒号不用转义,等号也不用转义
- abc$匹配的是以abc结尾的abc,而不是含有abc结尾的整个字符串,是子串。如果要匹配带什么的,请把之前的任意说出来。
同样的到底,^abc匹配的是以abc开头的abc,不是abc开头的整个字符串。

字符串的结束是以space或者\n来标志。正则匹配会遍历每个字符串,去全部匹配。

但是,当正则中含有space,那么两个字符串就会变成一个字符串。

比如说:

abc abcd
.regex1: abc
.regex2:abc a

未加说明的是字符串只会找到符合条件的子串,不会联想到整个字符串。
所以,就有这样的例子:

a开头,b结尾的字符串,说这句话的时候其实已经默认我要找的是整个字符串,而不是子串。
应该描述成a开头,中间任意长度任意字符,b结尾的字符串。

123456789,找567,不能用^567$来描述。因为^和$一起用的意思表示的是我要搜寻这样的整个字符串,是整个,不是子串。当然^123就可以找到123,和我上面说的不矛盾

所以,慎用^和$,这玩意不好整。

其实,每次出现这样的问题,我们可以回归到最初的起点去思考: 正则表达式最初的目的还是进行查找,不过更加个性化了。所以,有时候拿着ctrl+F去思考和比对一下,就明白了很多。

猜你在找的正则表达式相关文章