正则表达式进阶篇

([1-9]|1[012]:[0-5][0-9]) (am|pm)
匹配12小时时间的正则

^([-+]?[0-9]+(\.[0-9]*)?)\s*([CF])$
匹配摄氏度,虽然\s匹配的是空格、制表符、换行符、回车。但在这里只有空格有意义。所以可以用\s表示匹配空格。

(?<=...)匹配左侧文本
(?<!...)不匹配左侧文本
(?=...)匹配右侧文本
(?!...)不匹配右侧文本

例子:
Tom(?= Jeffs\b)匹配

Jack Tom Jeffs
Hi Tom Jack
中的第一个tom

php中的一些运用

<?php
$regex = '/Tom/';
$str = 'Jack Tom Jeffs';
$matches = array();

if(preg_match($regex, $str, $matches)){
    echo $str;
    echo "<p>";
    var_dump($matches);
}

$new_str=preg_replace($regex,'NanJing',$str);
echo "<p>";
echo $new_str;

结果:
Jack Tom Jeffs

array(1) { [0]=> string(3) "Tom" }

Jack NanJing Jeffs

待续...

原文地址:https://www.cnblogs.com/jiqing9006/p/3036057.html