当我们需要根据某种规则匹配文本中的内容时,经常使用正则表达式。PHP是一门非常流行的编程语言,而其内置的正则表达式函数库也相当强大,可以帮助我们完成许多文本匹配工作。本文将提供一份介绍最常用的PHP正则表达式的文档,以下是完整攻略:
最常用的PHP正则表达式收集整理
基本元素
字符
字符是正则表达式的最基本组成部分。可以用于匹配字面值(如“a”、“b”等)或字符区间(如"a-z")等。
示例1:匹配任意一个不是字母的字符。
preg_match("/[^a-zA-Z]/", $str, $matches);
字符类
字符类用于匹配一类字符。常用的字符类包括\d
(匹配数字)、\w
(匹配字母或数字)、\s
(匹配空格、制表符、换行符等)等。
示例2:匹配字符中是否包含至少一个数字。
preg_match("/\d+/", $str, $matches);
重复次数限定符
重复次数限定符用于指定某个字符或子模式出现的次数。常用的重复次数限定符包括+
(匹配1次或多次)、*
(匹配0次或多次)、?
(匹配0次或1次)等。
示例3:匹配任意出现3次的数字。
preg_match("/\d{3}/", $str, $matches);
匹配位置
锚点
锚点用于匹配字符串的特定位置,而不是字符。锚点有两种,分别是行首锚点^
和行尾锚点$
。
示例4:匹配字符串是否以数字开头。
preg_match("/^\d/", $str, $matches);
词边界
词边界用于匹配单词的边界。单词边界指单词字符与非单词字符之间的位置。常用词边界元字符为\b
。
示例5:匹配含有“hello”的单词。
preg_match("/\bhello\b/", $str, $matches);
捕获和非捕获
捕获组
捕获组用于匹配并且标记出某个子模式的匹配结果。捕获组可以使用()
包围起来,同时也可以使用\1
、\2
等后向引用来引用先前捕获的结果。
示例6:匹配以“hello”开头,以“world”结尾的字符串。
preg_match("/^(hello)(.*)(world)$/", $str, $matches);
非捕获组
非捕获组类似于捕获组,但是它不对匹配结果进行标记,也就是不记录在匹配结果中。它可以使用(?:)
来表示。
示例7:匹配含有连续的三个数字的字符串。
preg_match("/(?:\d{3})+/", $str, $matches);
总结
PHP正则表达式包含了非常强大和丰富的功能,以上只是最常用的表达式之一。我们应该在日常实践中,多多接触正则表达式,加强自身的实战经验。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:最常用的PHP正则表达式收集整理 - Python技术站