正则表达式进阶篇
([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
待续...