[英]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.