ホームページ > バックエンド開発 > PHPチュートリアル > 正规表达式匹配的有关问题

正规表达式匹配的有关问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 11:16:12
オリジナル
775 人が閲覧しました

正规表达式匹配的问题

本帖最后由 ConRst 于 2013-03-04 16:19:37 编辑 字符串是这样的
&AAA=111&BBB=222&CCC=333...
现在想用正规匹配得到AAA和111这样的值

<br /><br />$RegStr='/&(.*)=(.*)/';  //请问这个表达式是不是有问题  我这里的输出结果不对<br />if(preg_match($RegStr,$urladd,$mat))<br />{<br />	print_r($mat);   //这里如何输出 AAA和 111 这样的两个变量的值<br /><br />}<br />
ログイン後にコピー


上面代码输出有问题,贴出来是让大家看明白,请大家帮忙


------解决方案--------------------
$RegStr='/&(.*?)=([^&]+)/';
------解决方案--------------------
<br />$str='&AAA=111&BBB=222&CCC=333';<br />preg_match_all('/&(\w+)=(\w+)/i',$str,$result);<br />var_dump($result);<br />
ログイン後にコピー


array(3) {
  [0]=>
  array(3) {
    [0]=>
    string(8) "&AAA=111"
    [1]=>
    string(8) "&BBB=222"
    [2]=>
    string(8) "&CCC=333"
  }
  [1]=>
  array(3) {
    [0]=>
    string(3) "AAA"
    [1]=>
    string(3) "BBB"
    [2]=>
    string(3) "CCC"
  }
  [2]=>
  array(3) {
    [0]=>
    string(3) "111"
    [1]=>
    string(3) "222"
    [2]=>
    string(3) "333"
  }
}
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート