八: PHP正则表达式

2020-09-30  本文已影响0人  White夏天baby

正则表达式作用:分割,查找,匹配,替换字符串

分隔符:正斜线(/)、hash符号(#)以及取反符号(~)

通用原子:

\d、0-9

\D、0-9 取反

\w、数字字母下划线

\W、数字字母下划线取反

\s 、空格符

\S    空格符 取反

正则表达式:后向引用

贪婪模式

可用?或者U取消贪婪模式,但是不能同时使用,否则会出现负负得正的效果

php用正则表达式判断手机号码的写法:

$g = "/^1[34578]\d{9}$/";

// "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式.

从文章中匹配出所有的手机号就可以这样写了:

$str = '手机是13712345678';

preg_match_all("/^1[34578]\d{9}$/", $str, $mobiles);

//var_dump($mobiles);

文章参考:PHP手机号码正则表达式

参考网址:https://www.cnblogs.com/blogforly/p/5644049.html

preg_replace

$string = 'April 15, 2003';

$pattern = '/(\w+) (\d+), (\d+)/i';

$replacement = '${1}2,$2';

echo preg_replace($pattern, $replacement, $string);

//$0  April 15, 2003

//$1  April

//$2  15,

//$3  2003

//${1}2,$2  April2,15

//请写出139开头的11位手机号码的正则表达式

$str = '13915725539';

$pattern = '/^139\d{8}$/';

preg_match($pattern,$str,$matches);

var_dump($matches);

请匹配img标签中的所有的src的值

上一篇下一篇

猜你喜欢

热点阅读