摘要:在线正则检测工具链接正则表达式语法参考除换行符以外的所有字符转义字符另有等等字符串开头字符串结尾一个数字字符空格一个非数字非字符非空格或中的一个到中的一个字母除或的一个字符或者次或次匹配任意次数匹配一次或一次以上匹配次精确匹配
在线正则检测工具链接 正则表达式语法参考
. 除换行符以外的所有字符 . 转义字符(另有*, (, , 等等.) ^ 字符串开头 $ 字符串结尾 d,w,s 一个数字, 字符 [A-Za-z0-9_], 空格. D,W,S 一个非数字, 非字符 [A-Za-z0-9_], 非空格. [abc] a,b或c中的一个. [a-z] a到z中的一个字母. [^abc] 除a,b或c的一个字符. aa|bb aa或者bb. ? 0次或1次匹配. * 任意次数匹配. + 一次或一次以上匹配. {n} n次精确匹配. {n,} n次或n次以上匹配. {m,n} 最少m次,最多n次匹配. ??,*?,+?,{n}?, etc. 同上,但尽可能少次数的匹配. (expr) 捕获 expr 子模式,以 1使用它, 等等. (?:expr) 忽略捕获的子模式. (?=expr) 正向预查模式 expr. (?!expr) 负向预查模式 expr.
//执行一个正则表达式的匹配 preg_match(string $pattern , string $subject[,array $matches]) //执行一个全局正则表达式匹配 preg_match_all(string $pattern , string $subject[,array $matches])
preg_match() 返回 $pattern的匹配次数0或1次,因为匹配到第一个后就会停止搜索,而 preg_match_all() 将会一直搜索 $subject 到结尾
4 ) Array ( [0] => Array ( [0] => 4 [1] => 3 [2] => 9 [3] => 2 [4] => 4 ) )
//只返回经过正则匹配的结果 preg_fiflter(mixed $pattern , mixed $replacement , mixed $subject) //放回所有结果 preg_replace(mixed $pattern , mixed $replacement , mixed $subject)
$subject = array("1", "a", "2", "b", "3", "A", "B", "4"); $pattern = array("/d/", "/[a-z]/", "/[1a]/"); $replace = array("A:$0", "B:$0", "C:$0"); echo "preg_filter returns "; print_r(preg_filter($pattern, $replace, $subject)); echo "preg_replace returns "; print_r(preg_replace($pattern, $replace, $subject)); //结果: preg_filter returns Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4 ) preg_replace returns Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [5] => A [6] => B [7] => A:4 )
preg_quote(string $pattern) — 转义正则表达式字符,有时候匹配字符中包含正则表达式语法,需要进行转义才能进行匹配
正则表达式特殊字符有: . + * ? [ ^ ] $ ( ) { } = ! < > | : -
preg_split(string $pattern , string $subject) — 通过一个正则表达式分隔字符串,类似于explode函数
preg_grep — 返回匹配模式的数组条目
$array = array("23.32","22","12.009","23.43.43"); print_r(preg_grep("/^(d+)?.d+$/",$array)); //结果: Array ( [0] => 23.32 [2] => 12.009 )
preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
//结果 April fools day is 04/01/2003 Last christmas was 12/24/2002
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25626.html
摘要:兼容的正则表达式已经实现了很多使用不同解析引擎的正则函数。中主要有两个正则解析器一个称为,另一个称为兼容正则表达式。在中,每个正则表达式模式都是使用符合格式的字符串。 原文链接: Getting Started with PHP Regular Expressions Last-Modified: 2019年5月10日16:23:19译者注: 本文是面向0正则基础的phper, 很多...
摘要:正则表达式的都是匹配和替换搜索正则表达式要匹配的字符串匹配到的字符串匹配到的个数,没有匹配到返回下面是例子执行一个正则表达式匹配,非贪婪执行一个全局正则表达式匹配,贪婪执行结果匹配所有仅由有一个单词组成的科目名输出结果替换正则表达式要匹 正则表达式的都是匹配和替换 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...
摘要:正则表达式的都是匹配和替换搜索正则表达式要匹配的字符串匹配到的字符串匹配到的个数,没有匹配到返回下面是例子执行一个正则表达式匹配,非贪婪执行一个全局正则表达式匹配,贪婪执行结果匹配所有仅由有一个单词组成的科目名输出结果替换正则表达式要匹 正则表达式的都是匹配和替换 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...
摘要:在阅读这篇文章前最好把同系列文章实战正则表达式一验证手机号先仔细阅读一遍。但实际上这样一个表达式是无法从上面的中提取第一个元素的这里主要的问题是在默认情况下点号字符无法匹配换行符。但是很遗憾,正则表达式中没有排除型子表达式或者说排除型分组。 这篇文章通过提取html元素介绍了正则表达式中模式修饰符、贪婪匹配与非贪婪匹配、Unicode模式、环视等知识点。在阅读这篇文章前最好把同系列文章...
阅读 2837·2021-11-15 11:39
阅读 1816·2021-09-24 09:48
阅读 1059·2021-09-22 15:36
阅读 3580·2021-09-10 11:22
阅读 2989·2021-09-07 09:59
阅读 952·2021-09-03 10:28
阅读 665·2021-09-02 15:15
阅读 2738·2021-08-27 16:24