php正則匹配字元串
『壹』 php 正則表達式,如何匹配必須包含某字元串和不包含某字元串
/^([\s\S](?<!怎麼))*?YY([\s\S](?<!怎麼))*?分組([\s\S](?<!怎麼))*?$/m
末尾的 m 修正符不能少。。
其實這個問題完全可以用 Split 先把字元串每一行分解出來,然後用 strpos 一一查找是否包含 YY,分組,怎麼 等字元串,用正則反而更不好做。。
上面的正則只能匹配"YY"在"分組"之前出現的字元串。。
『貳』 php中正則匹配字元串中的指定字元
<?php
$str="0502-cpd-wx-html-new-01";
$str=preg_replace('/^([^-]+-){4}([^-]+)-[^-]+$/','$2',$str);
echo$str;
?>
『叄』 php中正則表達式匹配字元串,怎麼處理
php正則來表達式自:"./uploads/meinian/(.*?)"
完整的php程序如下:
<?php
$subject='"./uploads/meinian/96140234039638604.html" "./uploads/meinian/json_30_60393801_20140924.txt"';
$pattern='#"./uploads/meinian/(.*?)"#i';
preg_match_all($pattern,$subject,$matches);
print_r($matches[1]);
?>
運行結果:
Array ( [0] => 96140234039638604.html [1] => json_30_60393801_20140924.txt )
『肆』 PHP,求匹配該字元串的正則表達式
<?php
//$str = '比如「大眾汽車」,我想從一段中文文字之中匹配出「大眾汽車」四個字,如果有,返回true,如果沒有,返回false';
$str = '這句只有東風本田';
if(preg_match("|大眾汽車|is",$str))
{
echo "有大眾汽車";
}
else
{
echo "沒有大眾汽車";
}
?>
『伍』 php正則匹配指定字元串
preg_match('/var mv_hash = \"([\s\S]*)\"/',$str,$match);
print_r($match);
『陸』 php 怎樣判斷一個字元串為正則表達式
PHP 中的正則表達式格式為 : /.*/
如果這個字元串由 / 開頭, 由 / 結尾,應該就是一個正則內表達式。容
header('content-type:text/html;charset=utf-8');
$preg="/^/.*/$/";
$test="/abc/";
if(preg_match($preg,$test)){
echo'是正則表達式';
}else{
echo'不是正則表達式';
}
『柒』 PHP正則獲取匹配字元串到數組,如何使用PHP正則獲取指定內容並編號
preg_match_all('/s?ddimg='([^']*)'/is',$Str,$Img);
print_r($Img[1]);
『捌』 php 正則匹配字元串里的某個數據
為什麼不用json拿呢?
$obj = json_decode ( $json_str );
$verName = $obj['verName];
$verCode = $obj['verCode'];
算了,當我沒說,根本不是標准json格式,都不造這個字串能用來作甚……
『玖』 如何用php正則表達式取出「字元」間的字元
PHP使用正則表達式提取字元串中尖括弧<>、小括弧()、中括弧[]、大括弧{}中的字元示例,需要的朋友可以參考下
復制代碼 代碼如下:
$str="你好<我>(愛)[北京]{天安門}";
echo f1($str); //返回你好
echo f2($str); //返回我
echo f3($str); //返回愛
echo f4($str); //返回北京
echo f5($str); //返回天安門
function f1($str)
{
$result = array();
preg_match_all("/^(.*)(?:<)/i",$str, $result);
return $result[1][0];
}
function f2($str)
{
$result = array();
preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result);
return $result[1][0];
}
function f3($str)
{
$result = array();
preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result);
return $result[1][0];
}
function f4($str)
{
$result = array();
preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result);
return $result[1][0];
}
function f5($str)
{
$result = array();
preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result);
return $result[1][0];
}
PS: (?:字元) 表示不捕獲這個字元。貌似PHP不支持將字元換成括弧。
否則的話可以將環視給嵌套進去,就可以循環匹配了。
PS2:環視:(?!) (?=) (?<!) (?<=)
有小於號的在右側匹配,沒有的在左側匹配。感嘆號表示不等,等於號表示相等。
PS3:都過了驗證器的驗證,驗證器見參考資料。
『拾』 PHP中如何匹配多個滿足正則表達式的字元串
php split -- 用正則表達式將字元串分割到數組中
例子:
<?php
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date); // 分隔符可以是斜線,點,或橫線
echo "Month: $month; Day: $day; Year: $year \n";
?>
來自:http://peakzhengj.blog.163.com/blog/static/42476992007112411227717/