常用规则:
1. ^行开始 $行结束 ^ab 以ab开头 ab$ 以ab结尾
2. \将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。 例如:\( 匹配一个(括号
3. * 匹配前面的子表达式零次或多次。 例如:ab* 可以匹配 a、b、ab 但是不可匹配不包含ab的字符
4. + 匹配前面的子表达式一次或多次。例如:ab+ 可以匹配 ab、abb 但是不可匹配a、b及不包含ab的字符
5. ? 匹配前面的子表达式零次或一次。例如:play(er)? 可以匹配 play 或 player
6. {n} n 是一个非负整数。匹配确定的 n 次。例如:o{2} 可以匹配room 不可以匹配old、oool
7. {n,} n 是一个非负整数。至少匹配n 次。例如:o{2} 可以匹配room、oool 不可以匹配old
8. {n,m} m 和 n 均为非负整数,其中n <= m。nm表示匹配范围,最少匹配 n 次且最多匹配 m 次。 例如:o{2,4} 可以匹配 room、room、fooool 其中o的个数必须大于等于2 小于等于4。
9. ? 当该字符紧跟在任何一个其他限制符 后面时表示非贪婪模式 例如:o+? o+ 表示匹配所有o o+? 则只匹配一个
10. .匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 .\,。 例如:\. 匹配.
11. x|y 匹配 x 或 y 例如:a|b 匹配a和b其中一个即可
12. [xyz] 匹配xyz其中的一个 例如: [abc] 可以匹配a、b、c其中任意一个
13. [^xyz] 和上面相反匹配不属于xyz中的值
14. [a-z] 字符范围 匹配a到z之间的任意字符
15. [^a-z] 和14上面相反 匹配a到z之外的任意字符
16. \b 匹配一个以此结尾单词 例:dd\b 匹配 add
17. \B 匹配中间单词 例:dd\B 匹配 addc
18. \d 匹配一个数字字符。等价于 [0-9]
19. \D 匹配一个非数字字符。等价于 [^0-9]
20. \w 匹配任何一个包含下划线的字符等价于 [a-zA-Z0-9_]
21. \W 匹配任何非单词字符。等价于 [^A-Za-z0-9_]
22. \s 匹配任何空白字符,包括空格、制表符、换页符等等
23. \S 和上面相反匹配任何非空白字符
24. /i 表示不区分大小写匹配
常用表达式:
1.使用正则匹配手机号码格式
^1 以数字1开头
[34578] 第二位可以是3、4、5、7、8
\d{9}$ 以9位数字结尾
$regExp = /^1[34578]\d{9}$/
2.匹配密码必须包含一个小写字母,一个大写字母和数字且以数字开头长度为6位
^(.*?[0-9]) 以0到9之间的一个数字开头
(?=.*?[a-z]) 必须包含一个小写字母
(?=.*?[A-Z]) 必须包含一个大写字母
[a-zA-Z0-9]{6,} 长度不小于6位且由大写字母小写字母数字组成
$password = /^(.*?[0-9])(?=.*?[a-z])(?=.*?[A-Z])[a-zA-Z0-9]{6,}$/
3.$str是一段html文本,使用正则表达式去除其中的所有js脚本
$pattern = /\.+<\/script>/;
Preg_replice($pattern,'',$str);
4.八个字符,包括一个大写字母,一个小写字母和一个数字或特殊字符
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}