查看网站服务器信息,dedecms网站后台管理系统,青岛代理记账有限公司,东莞网站建设(信科网络)正则表达式用处挺广的#xff0c;主要用于处理字符串。正则引擎想要在计算机语言中使用正则表达式#xff0c;那么这门计算机语言必须要利用正则引擎去实现相应的正则库。主要的正则引擎分为以下两类#xff1a;DFA 确定性的状态机。不使用”回溯”#xff0c;效率高#…正则表达式用处挺广的主要用于处理字符串。正则引擎想要在计算机语言中使用正则表达式那么这门计算机语言必须要利用正则引擎去实现相应的正则库。主要的正则引擎分为以下两类DFA 确定性的状态机。不使用”回溯”效率高但是支持的正则表达式语法有限。NFA 非确定性状态机。构造简单使用”回溯算法”支持大多数的正则语法是目前使用最广泛的正则引擎大多数计算机语言例如Java、PHP、Ruby、Python等都是使用的NFA正则引擎。语言实现不同的语言对正则的实现不同暴露出来的方法也不同但方法的作用其实都是大同小异这里用PHP语言做例子。匹配字符串preg_match(string $pattern, string $subject[, array $matches]) 使用很频繁。函数返回匹配到的结果的次数。只匹配一次参数matches只返回第一条结果。preg_match_all(string $pattern, string $subject[, array $matches]) 使用很频繁。函数返回匹配到的结果的次数。参数matches只返回所有结果。替换字符串或数组preg_replace($pattern, $replacement, $subject) 返回匹配过滤后的字符串或者数组。preg_filter($pattern, $replacement, $subject)返回匹配过滤后的字符串或者数组。这俩函数都可以替换字符串在字符串替换中俩函数用法完全一致。这俩函数不仅可以替换字符串还可以替换数组在替换数组的时候pre_filter会过滤掉没有匹配到的内容而pre_replace不会这就是他俩的唯一区别。替换数组preg_grep(string $pattern, array $input[, int flags 0]) 返回匹配模式的数组条目。阉割版本的preg_filter正则运算符转义对一个字符串中的正则表达式的运算符”. * ? [ ] ^ $ ( ) { } ! | : -“进行转义转义成非正则表达式的运算符否则正则表达式会认为其为运算符。preg_quote(string $str[, string $delimiter null ]) 转义正则表达式字符串。返回转义后的字符串。正则表达式语法你可以把正则表达式当做一门简单的语言来看但是它的语法显然比一般的计算机语言要简单一些。界定符指定正则表达式的开始和结束可以当成是计算机语言中的大括号{和}。一般有三种表现方式斜杠。例如/[0-9]/。这是最常用的方式在PHP中推荐使用这种方式。井号。例如#[0-9]。大括号。例如{[0-9]}。在正则表达式中大括号还有其他作用所以这种方式不推荐使用。原子正则表达式中最小的匹配单位其实就是字符串中的字符。主要分为两大类可见原子:肉眼能够看见的字符。标点符号。例如”_ ? . ;,“等等英文字母数字。例如”a-z,A-Z,0-9“汉字、日文、阿拉伯文等其他语言文字数理化公式符号。例如”∩ ∪ π Ω “等等其他可见字符由于某些字符在正则表达式中属于特殊字符那么在书写这类特殊字符的时候应该注意要加上反斜杠例如如果匹配^直接写/^/肯定不行如果加上反斜杠就可以了。^不可见原子:肉眼看不到的。空格。换行符回车符制表符。其实就是按一下键盘tab键出来的其他不可见字符元字符定义原子的筛选方式队员原子进行归类简化正则表达式的书写。| 匹配两个或者多个分支选择。 和计算机语言中的含义是一样的:或者[] 匹配方括号中的任意一个原子。[^] 配配除方括号之外的任意字符串。. 匹配除之外的任何单个字符。要匹配包括在内的任何字符请使用象[.]的模式。d 十进制数字等同于[0-9]D 匹配任意一个非十进制的数字等同于[^0-9]s 匹配任意一个不可见原子。等同于[fv]S 匹配一个可见原子。等同于[^fv]w 匹配任意数字、字母或下划线。既[0-9a-zA-Z_]W 匹配任意非数字、字母或下划线。即[^0-9a-zA-Z_]量词表示某一个原子连续出现的数量。{n} 表示前面的原子恰好出现n次{n,} 表示前面的原子最少出现n次{n,m} 表示前面的原子最少出现n此最多出现m次* 匹配0次、1次、或者多次。等同于{0,} 一次或者多次。等同于{1,}? 0次数或者1次。等同于{0,1}边界控制^ 匹配字符串开始的位置。即”必须以……为开头”$ 匹配字符串结束的位置。即”必须以……为结尾”模式单元将模式单元中的括号及其正则表达式当做是一个原子来看待。() 匹配其中的整体为一个原子。修正模式给正则表达式的匹配过程添加一种匹配模式U 加U是懒惰匹配不加U是默认的贪婪匹配。i 忽略英文字母大小写。x 忽略空白。(包括空格和按tab键输出的制表符)s 让元字符.匹配包括换行符在内的所有字符。e preg_replace()在替换字符串中对逆向引用作正常的替换。简单的说就是PHP会把replace的结果当做PHP代码。(替换字符串要符合php的语法规范)例如echo preg_replace(/(d),(d)/e, $1$2, 2,3);会输出5。书写方式为$pattern /hello World/U$pattern /hello World/i$pattern /hello World/Ui//可以任意组合