簡體   English   中英

PHP正則表達式在兩個字符串之間找到一個字符串

[英]php regex finding a string between two strings

我想在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

你錯過了分號; 在第一行

你需要放; $str = "...."

您在第一行的末尾缺少分號:

更改為:

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

另外,獲得一個像樣的IDE並省去每次麻煩在SO上問這個問題的麻煩! :)

您可能在代碼的第一行缺少分號

  $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";
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM