常用规则:

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}