0

PHPで正規表現を実行したかったのです。$str 変数から common_name = Bangladesh を選択します。私は正規表現を身に着けていました。正規表現はここで一致を見つけていません。どうすればこれを修正できますか?

$str = "| conventional_long_name = People's Republic of Bangladesh | common_name = Bangladesh | image_flag = Flag of Bangladesh.svg";
    $pat = "/(?=\common_name\s=).*?(?=\s\|)/";

    if(preg_match($pat, $str, $matches)){
        echo "Matches found";
        echo $matches[0];
    } else {
        echo "No match found";
    }

結果が示す

No match found
4

4 に答える 4

0

コードの 1 行目にセミコロンがない可能性があります。

  $str = "| conventional_long_name = People's Republic of Bangladesh | common_name = Bangladesh | image_flag = Flag of Bangladesh.svg";
        $pat = "/(?=\common_name\s=).*?(?=\s\|)/";

        if(preg_match($pat, $str, $matches)){
            echo "Matches found";
            echo $matches[0];
        } else {
            echo "No match found";
        }
于 2013-07-22T11:41:25.550 に答える
0

最初の行の最後にセミコロンがありません:

次のように変更します。

$str = "| conventional_long_name = People's Republic of Bangladesh | common_name = Bangladesh | image_flag = Flag of Bangladesh.svg";

また、まともなIDEを入手して、毎回SOでこの質問をする手間を省いてください! :)

于 2013-07-22T11:39:52.167 に答える