正则表达式知识汇总
1、选择PHP正则表达式处理函数库 常用的有两种,一种是基于perl语言,使用“preg_”为前缀命名的函数,表达式都应该被包含在定界符中,如斜线(/"), 另一种是由POSIX (Portable Operation System interface) 扩展语法的正则表达式,使用“ereg_”开头。php中常用preg_. 常用函数: preg_match() preg_match_all() preg_replace() preg_split() preg_grep(); preg_replace_callback()
2、正则表达式的组成: 由原子(如a到z)、元字符(*,+,?)及模式修正三部分组成。
3、正则表达式元字符: 正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符。元字符使正则表达式具有处理能力。元字符既可以是放在 [] 中的任意单个字符(如 [a] 表示匹配单个小写字符 a ),也可以是字符序列(如 [a-d] 表示匹配 a 、 b 、 c 、 d 之间的任意一个字符,而 w 表示任意英文字母和数字及下划线),下面是一些常见的元字符:
4、用“”取消一些特殊字符的意义,如“ “ ”,” * “,” + ”等,如果当做原子,必须像"、*、+这样使用。
5、修饰符:对大小写敏感 我们看到的('/^http://([w.]+)/([w]+)/([w]+).html/i')中的最后一个"i"就是修饰符,表示忽略大小写,还有一个我们经常用到的是"x"表示忽略空格。 ◆i :如果在修饰符中加上"i",则正则将会取消大小写敏感性,即"a"和"A" 是一样的。 ◆m:默认的正则开始"^"和结束"$"只是对于正则字符串如果在修饰符中加上"m",那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。 ◆s:如果在修饰符中加入"s",那么默认的"."代表除了换行符以外的任何字符将会变成任意字符,也就是包括换行符! ◆x:如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。 ◆e:本修饰符仅仅对于replacement有用,代表在replacement中作为PHP代码。 ◆A:如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说"/a/A"匹配"abcd"。 ◆E:与"m"相反,如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。 ◆U:和问号的作用差不多,用于设置"贪婪模式"。
6、正则表达式限定符
上面的元字符都是针对单个字符匹配的,要想同时匹配多个字符的话,还需要借助限定符。下面是一些常见的限定符 ( 下表中 n 和 m 都是表示整数,并且 0<n<m) : *匹配 0 到多个元字符,相当于 {0,} ?匹配 0 到 1 个元字符,相当于 {0,1} {n}匹配 n 个元字符 {n,}匹配至少 n 个元字符 {n,m}匹配 n 到 m 个元字符 +匹配至少 1 个元字符,相当于 {1,} b匹配单词边界 ^字符串必须以指定的字符开始 $字符串必须以指定的字符结束 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |