表示一个正则表达式的开始和结束
(1)//(2)##(3){}例:'/[0-9]/'
正则表达式中的最小匹配单位,通常它只是Unicode编码表中的某个字符(1)可见原子:Unicode编码表中用键盘输出后肉眼可见的字符例:标点英文字母数字汉字、日文、阿拉伯文等其他语言文字数理化公式符号其他可见字符(2)不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符例:换行符 \n回车\r制表符 \t空格其他不可见符号patten中若有中文汉字,建议换成unicode编码
(1)定义原子的筛选方式(2)把某一类原子,比较类似的原子(英文字母abcd和数字1234)进行归类,给出一个缩写来简化正则表达式的书写方式。
1、原子的筛选方式(1)[] :匹配出现在[]中的任意一个原子(2)| :或运算。匹配|符号左右两边的任意一个(3)[^ ] :取反。这里^必须和[紧挨着,才表示匹配除了[]里面任意原子的字符注:[78^9]表示匹配,7、8、^、9任意一个(4). :任意字符(除换行符外)
2、原子的集合. 匹配出了换行符之外的任意字符(1)\d 匹配任意一个十进制数字,即 [0-9](2)\D 匹配任意一个非十进制的数字,即 [^0-9](3)\s 匹配一个不可见原子,即 [\f\n\r\t\v](4)\S 匹配一个可见原子,即[^\f\n\r\t\v](5)\w 匹配任意一个数字、字母或下划线,即 [0-9a-zA-Z_](6)\W 匹配任意一个非数字、字母或下划线,即 [^0-9a-zA-Z_]
(1){n} 表示其前面的原子恰好出现n次。(2){n,} 表示其前面的原子最少出现n次。(3){n,m} 表示其前面的原子最少出现n次,最多出现m次。(4)* 匹配0次,1次,多次其前面的原子,即{0,}。(5)+ 匹配1次,多次其前面的原子,即{1,}。(6)? 匹配0次,1次其前面的原子,即{0,1}。
(1)^ :匹配字符串开始的位置 ^string:只能匹配一开始就为string字符串,不能有空格(2)$ :匹配字符串结尾的位置
() 括号的整体为一个原子
标识:在正则表达式的末尾,也就是斜杠(/)的后面,加修正模式的标识(1)u :贪婪匹配,匹配结果存在歧义时,匹配结果越多越好。默认是贪婪模式。例:'/[a-zA-Z0-9]+/'(2)U :懒惰匹配,匹配结果存在歧义时,匹配结果越少越好。例:'/[a-zA-Z0-9]+/U' (3)i :忽略英文字母大小写(4)x :忽略空白(5)s :让元字符“.”匹配包括换行符在内的所有字符
(1)非空:.+(2)浮点:小数点后两位:\d+\.\d{2}$(3)手机:^1[358]\d{9}$(4)邮箱:^\w+(\.\w+)*@\w+(\.\w+)+$(5)URL:^(https?://)?(\w+\.)+[a-zA-Z]+$
正则检测工具:http://tool.chinaz.com/regex/
转载于:https://www.cnblogs.com/quanzhiguo/p/7158004.html