Code前端首页关于Code前端联系我们

PHP正则表达式匹配教程

terry 2年前 (2023-09-29) 阅读数 98 #PHP
文章标签 PHP

1.什么是正则表达式

正则表达式是用于搜索、匹配和替换特定文本的字符串模式。它常用于处理文本数据、验证输入数据等。在PHP中,可以使用一系列preg函数(preg_match、preg_replace等)来操作正则表达式。

2。正则表达式语法

正则表达式语法包含一些特定的字符和语法规则。常用的语法句子包括:

  • 字符匹配:使用单个字符来匹配特定字符,例如与输入字符串中的字符a匹配的字符。
  • 字符集:使用字符集来匹配一组字符,如[abc]匹配输入字符串中的字符a、b、c。
  • 量词:用于确定一个字符或一组字符出现的次数,如{3}匹配aaa。
  • 选择器:用于匹配一些可选内容,如a|b匹配a或b。
  • Group:用于将正则表达式的部分进行分组,方便后续操作,如(a|b){3}匹配aaa、aab、aba等。
  • 的反义词:用于匹配特定字符或字符集以外的内容,如[^abc]匹配输入字符串中除a、b、c之外的字符。

3。示范示例

1。匹配手机号码

$pattern = '/^1[3-9]\d{9}$/';
$mobile = '13912345678';
if(preg_match($pattern, $mobile)){
    echo '匹配成功';
}else{
    echo '匹配失败';
}

提示:
该正则表达式使用量词和字符集来匹配以 1 开头的数字,第二位数字为 3-9,后跟 9 位手机号码。由于手机号码的格式比较固定,因此可以使用正则表达式进行验证。

2。替换 HTML 标签

$pattern = '/]+>/';
$content = '

这是一段有着大标题的文本

'; $result = preg_replace($pattern, '', $content); echo $result;

提示:
此正则表达式使用一组字符和量词来匹配 HTML 标签(用 字符填充,以 > 结尾)。替换时,对应的标签被替换为空白字符,即删除所有HTML标签。

3。从 URL 链接中提取域名

$pattern = '/[a-zA-z]+:\/\/[^\s]*/';
$link = '这是一篇示例文章,请阅读原文获取更多信息。';
preg_match($pattern, $link, $matches);
$domain = parse_url($matches[0])['host'];
echo $domain;

提示:
该正则表达式使用字符集、度量和分组来匹配 URL 链接(包括协议和域名,可能还有其他内容)。得到匹配结果后,使用parse_url函数解析域名部分,然后得到URL链接对应的域名。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门