hi,欢迎访问本站!
当前位置: 首页编程开发正文

关于php正则表达式的详解

墨初 编程开发 504阅读

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

正则表达式的语法

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

1、字符匹配:使用单个字符匹配特定的字符,如字符a匹配输入字符串中的字符a。

2、字符集合:使用字符集合匹配一组字符,如[abc]匹配输入字符串中的字符a、b、c。

3、量词:用于指定字符或字符集合出现的次数,如a{3}匹配aaa。

4、选择符:用于匹配多个可选的内容,如a|b匹配a或b。

5、分组:用于对正则表达式的一部分进行分组,方便后续操作,如(a|b){3}匹配aaa、aab、aba等。

6、反义:用于匹配除了指定字符或字符集合之外的内容,如[^abc]匹配输入字符串中除了a、b、c之外的字符。

php中正则表达式的使用

1、php正则匹配手机号

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

注意:由于手机号的格式固定,可以使用量词与字符集合,匹配以1开头,第二位3到9的数字,后面为9位数字的手机号。

2、php中正则表达式替换标签

$pattern = '/<[^>]+>/';
$content = '
这是一段有着大标题的文本
';
$result = preg_replace($pattern, '', $content);
echo $result;

注意:上面的正则使用了字符集合和量词,匹配一段HTML标签(以<开头,非>字符的内容,以>结尾)。在替换时,将匹配到的标签替换成空字符,即删除了所有HTML标签。

3、php正则表达式提取url

$pattern = '/[a-zA-z]+:\/\/[^\s]*/';
$link = '这是一篇示例文章来源:https://www.73so.com。';
preg_match($pattern, $link, $matches);
$domain = parse_url($matches[0])['host'];
echo $domain;

注:上面的正则表达式使用了字符集合、量词和分组,匹配一段URL链接。

声明:无特别说明,转载请标明本文来源!
相关推荐