php常见正则表达式

Posted 风雨无阻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php常见正则表达式相关的知识,希望对你有一定的参考价值。

<?php
/**
 * d:0-9   D:取反
 * w:0-9 a-z A-Z _  W:取反
 * s:空白符 S:除了空白符
 *
 * 元字符:
 *   .      除了换行符之外的任意字符
 *   *      匹配前面字符出现一次0次或者多次
 *   ?     出现一次或0次
 *   ^      必须以它开头
 *   $      必须以它结尾
 *   +      出现一次或者多次
 *  {n}     出现n次
 *  {n,}    大于n次
 *  {n,m}   大于n小于m
 *  []      集合
 *  ()      整体
 *  [^]     取反
 *  |       或者
 *  [-]     范围
 *  模式修正符:
 *  i m e s U x A D u
 *
 */

//正则表达式139开头手机号码
$phone = ‘13960225896‘;

preg_match(‘/^139[0-9]{8}$/‘, $phone, $match);
preg_match(‘/^139d{8}$/‘, $phone, $match2);
var_dump($match);
var_dump($match2);

//取出img标签的src
$str = ‘<div class="u-face"><a href="//space.bilibili.com/106827698" target="_blank" report-id="head" class="fa"><img src="//i0.hdslb.com/bfs/face/03314a91769eb94ffea6dfdab833a9e29cf3d66a.jpg@68w_68h.webp" width="48" height="48" class="up-face"><!----><!----><!----></a></div>‘;

$pattern = ‘/<img.+?src="(.+?)".+?>/‘;
preg_match($pattern, $str, $match3);
var_dump($match3);

// *  后向引用
$str     = ‘<b>abc</b><b>asdsbc</b><b>asdsbc</b>‘;
$pattern = ‘/<b>(.+?)</b>/‘;
$match4  = preg_replace($pattern, ‘\1‘, $str);
$match5  = preg_replace($pattern, ‘<b>123</b>‘, $str);
var_dump($match4);
var_dump($match5);

//preg_match_all
$userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>";
preg_match_all(‘/<b>(.*)</b>/U‘, $userinfo, $pat_array);
var_dump($pat_array);

//使用逗号或空格(包含" ", 
, 	, 
, f)分隔短语
$keywords = preg_split("/[s,]+/", "hypertext language, programming");
var_dump($keywords);

//utf中文匹配
$str     = ‘UTF-8匹配:在javascript中,要判定字符串是中文是很简朴的。比如:var str = "php编程";if (/^[u4e00-u9fa5]+$/.test(str)) {alert("该字符串全部是中文");} else{alert("该字符串不全部是中文");}php中,是用 ...‘;
$pattern = ‘/[x{4e00}-x{9fa5}]+/u‘;
preg_match_all($pattern, $str, $match6);
var_dump($match6);

//gb3412中文匹配
$pattern = ‘/[‘.chr(0xb0).‘-‘.chr(0xf7).‘][‘.chr(0xa1).‘-‘.chr(0xfe).‘]/‘;
preg_match_all($pattern, $str, $match7);
//var_dump($match7);

 

技术图片

 

以上是关于php常见正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

php常见正则表达式

php的问题

通过 Java 正则表达式提取 semver 版本字符串的片段

PHP 正则表达式函数

10个常用的PHP正则表达式

regex格式的名称