正则表达式,又称正规示意式、正规示意法、正规表达式、划定规矩表达式、通例示意法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。
正则表达式运用单个字符串来形貌、婚配一系列相符某个句法划定规矩的字符串。在许多文本编辑器里,正则表达式通常被用来检索、替代那些相符某个形式的文本。
相干引荐:《PHP教程》
一、字符类
1、字符类:能够婚配他所包含的恣意字符
eg:/[abc]/和字母"a"、"b"、"c"中的恣意一个婚配。
2、否认字符类: 经由过程"^"字符定义否认字符类,他婚配一切不包含在方括号内的字符。定义否认字符类时,将一个"^"标记作为左括号内的第一个字符。
eg:/[^abc]/婚配"a"、"b"、"c"以外的一切字符。
3、\s : 婚配的是空格符、制表符和其他Unicode空缺符;
. : 除换行符和其他Unicode行终止符以外的恣意字符。
二、反复
1、{n,m} 婚配前一项最少n次,但不能超过m次;
2、{n,} 婚配前一项n次或许更屡次;
3、{n} 婚配前一项n次;
4、? 婚配前一项0次或许1次;
5、* 婚配前一项0次或许屡次;
6、+ 婚配前一项1次或许屡次 .
PS:非贪欲性反复---在待婚配的字符背面追随一个问号即可。 "??" "+?" "*?"
三、挑选、分组和援用
1、"|" 支解供挑选的字符
eg:/ab|cd|ef/ 能够婚配字符串"ab"、也能够婚配字符串"cd"、还能够婚配字符串"ef"
2、"()":圆括号的作用:a.把零丁的项组合成子表达式;b.在完全的形式中定义子形式;c.许可在统一正则表达式的后部援用前面的子表达式。
3、"(?:" 和 ")"举行分组,但不影象与改组相婚配的字符
四、指定婚配位置
1、婚配发作的合理位置,正则表达式的锚。
2、"^" 婚配字符串的最先
3、"$" 婚配字符串的完毕
4、恣意正则表达式都能够作为锚点。假如在标记"(?="和")"之间到场一个表达式,它就是一个先行断言。
5、负先行断言"(?!"和")"
五、修饰符
1、i 不辨别大小写
2、g 全局婚配
3、m 多行中实行婚配
六、RegExp要领
------- String 要领 -------
1、search() 返回第一个与之婚配的字符串的位置;
2、repalce() 实行检索和替代操纵
假如正则表达式设置了修饰符g,那末源字符串中一切与形式婚配的字符串都将替代成第二个参数指定的字符串;假如不带修饰符g,则只替代婚配的第一个子串。
3、match() 返回由婚配效果构成的数组
------- RegExp要领 -------
4、exec()
5、test()
======================= 一些经常使用的正则表达式 ========================
1、删除首尾行的空缺字符(包含空格符、制表符、其他Unicode空缺符)
var pattern = /(^\s*)|(\s*$)/g ; " abc def ".replace(pattern,""); //实行效果是:"abc def"
2、强暗码:暗码为8-12位,而且大写字母、小写字母、数字、特别字符都包含
var strongRegExp = /^(?=.{8,12})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\W).*$/g ;
3、弱暗码:暗码为7-12位,而且包含大写字母、小写字母、数字中恣意两项,且不包含特别字符
var mediumRegExp = /^(?=.{7,12})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[1-9]))|((?=.*[a-z])(?=.*[1-9]))).*$/g ;
以上就是php中reg的意义是什么的细致内容,更多请关注ki4网别的相干文章!