正则表达式
来学一下正则表达式
现在我们来一个正则
abc.
那么
abc1
abc2
abcc
abca
abc.
这些都跟abc.相匹配
所以abc.就表示 abc再连接一个字符
.可以匹配任意一个字符
所以abc加任意一个字符 就是abc.
然后 匹配特殊字符
.a.\.xml
这是什么意思
第一个点匹配
第二个点匹配
然后\.是一个整体,是对.进行转译
那么这段的意思就是
什么a什么.xml 的都匹配
比如
1a1.xml
2a3.xml
[ns]a.\.xml
这是什么意思
就是n或者s中的一个
na1.xml
sa2.xml
或者
[ns]a[0123456]\.xml
这样也可以
或者
[ns]a[0-9]\.xml
或者
[ns]a[0-9a-f]\.xml
[ns]a[0-9a-zA-Z]\.xml
取反,取非
[ns]a[^0-9]\.xml
这样的话 0-9都不行
也可以
[ns]^a[^0-9]\.xml
注意
如果直接写[A-z]
这样的话 还包括了好多的符号
捋一下
65--A
90--Z
91--[
92--\
93--]
94--^
95--_
96--`
97--a
122-z
所以的话,直接写[A-z]
是26+26=52个
再加上6个符号
所以[A-z]一共对应了58个
这个可以记一下
不错
[]中括号在正则中是特殊字符
所以如果我们想要匹配[或者]
那么我们要转译一下
\[ \]
\d--任意数字字符-- [0-9]
\D--任意非数字 [^0-9]
\w--任意字母数字或下划线[a-zA-Z0-9_]
\W--反一下 [^a-zA-Z0-9_]
\s--任意空白字符
\S--任意非空白字符
重复匹配
\w+@\w+\.\w+
这是什么意思
我们分开看
\w+ @ \w+ \. \w+
这5个部分
\w+可以重复匹配
然后@匹配@
然后\.就是一个点
所以就是
abc@abcd.com
注意了
这种情况的话,
.abc@abc.com也会被匹配
这样就不是邮箱地址了
我们改一下
匹配网址
https?://[\w./]+
分开看
https? :// [\w./]+
三个部分看
第一个部分:
s可以1次或者0次
所以http和https都可以
第二个部分
://
第三个部分
\w 还有.还有/都可以
重复匹配
然后我们看看匹配RGB颜色
#[0-9a-fA-F]{6}
所以
#336633
#ffaaff
这些都可以匹配
都是16进制表示RGB颜色