程序员都应该掌握的正则表达式
内容简介
1. 匹配任意字符
2. 匹配特殊字符
3.匹配多个字符中的某一个
4.一些特殊区间
5.匹配特定的字符类别
6.匹配零个以上的字符
匹配任意字符
命令:.
字符,可以匹配任何一个单个的字符。
示例文本:
python1.py
pythond2.py
python3.py
pytho4.py
正则表达式:python.
结果:python1.py
python3.py
匹配特殊字符
命令:\
,这是一个元字符,它永远出现在一个有着特殊含义的字符序列,对特殊含义的字符序列进行转义,而什么是特殊字符呢!大部分的命令字符都是特殊字符。
匹配多个字符中的某一个
命令:[ ]
,它匹配字符集合中个其中一个字符。
示例文本:test1.js mesivefor.xml xvideote.java
正则表达式:[td]e
结果:test1.js
xvideote.java
一些特殊区间
命令:
1.[A-Z]
:匹配从A到Z的所有大写字母
2.[a-z]
:匹配从a到z的所有小写字母
3.[A-z]
:匹配从ASCII字符A到ASCII字符z的所有字母
4.[0-9]
:匹配从0到9的任意一个整数
5.[^0-9]
:取非的意思,匹配任何不是整数的字符,特别注意^
的效果是作用
于给定字符集合里的所有字符或字符区间,而不是仅限于紧跟在^
字符后面的那一个字符或字符区间,比如[^0-9a-z]
的区间内都取非了。
匹配特定的字符类别
命令:
1.\d
:任何一个数字字符(等价于[0-9]
)
2.\D
:任何一个非数字字符(等价于[^0-9]
)
3.\w
:任何一个字母数字字符(大小写均可)或者下划线字符(等价于[a-zA-Z0-9_]
)
4.\W
:任何一个非字母数字或者下划线字符(等价于[^a-zA-Z0-9_]
5.\s
:任何一个空白字符
6.\S
:任何一个非空白字符
匹配零个以上的字符
命令:
1.+
:匹配一个或者多个字符,但是至少一个,不匹配零个字符的情况。比如a+
,[0-9]+
,\w+
2.*
:匹配零个或多个字符,可以匹配零个,这是它与+
的区别(通常放在字符或字符集合后面发挥它的强大的作用)
3.?
:匹配一个或零个字符,也就是最多不超过一次,对于那些可能出现又有可能不出现的情况很有用,比如http和https
4.{ }
:重复匹配的次数,比如s{2}
s重复出现两次,{2,4}
重复出现2到4次,{3,}
至少重复3次。
向着目标一直往前走,尽管它离你很远,没关系你可以闭着眼(> ... <)