正则表达式--笔记

1、关于正则表达式的() [] {}说明

()   是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。

(\s*)表示连续空格的字符串。

[]    是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。

{}    一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。


2、关于要匹配的次数

{n}        匹配前面的表达式重复n次,比如: "\w{2}" 相当于 "\w\w"; "a{5}" 相当于 "aaaaa"

{m,n}    匹配前面的表达式至少重复m次,最多重复n次,比如: "ba{1,3}"可以匹配 "ba"或"baa"或"baaa"

{m,}    匹配前面的表达式至少重复m次,比如: "\w\d{2,}"可以匹配 "a12","_456","M12344"...

       匹配前面的表达式重复0次者1次,相当于 {0,1},比如: "a[cd]?"可以匹配 "a","ac","ad"

+        匹配前面的表达式至少出现1次,相当于 {1,},比如: "a+b"可以匹配 "ab","aab","aaab"...

       匹配前面的表达式不出现或出现任意次(含0次),相当于 {0,},比如: "\^*b"可以匹配 "b","^^^b"...


3、匹配什么类型的字符

\d    任意一个数字,0~9 中的任意一个

\w    任意一个字母数字下划线,也就是 A~Z,a~z,0~9,_ 中任意一个

\s    包括空格、制表符、换页符等空白字符的其中任意一个

.    小数点可以匹配除了换行符(\n)以外的任意一个字符


4、字符串的开头,结尾及单词边界

   匹配与字符串开始的地方,不匹配任何字符

   匹配与字符串结束的地方,不匹配任何字符

\b    匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符


([\\s\\S]*)    匹配包括换行符在内的任意字符,  ([\d\D]*) 和 ([\w\W]*)可以实现

/[ -~]/    匹配所有的英文

/[^ -~]/    匹配所有的非英文(比如中文)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章