Questions about the Preg_match

Source: Internet
Author: User
$file = "[{\" name\ ": \" Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian \ ", \" code \ ": \" 350000\ "},{\" name\ ": \" Gan province \ "," code\ ": \" 620000\ "},{\" name\ ": \"?? Province \ ", \" code\ ": \" 440000\ "},{\" name\ ": \"? "," code\ ": \" 450000\ "},{\" name\ ": \" state province \ ", \" code\ ": \" 520000\ "},{\" Name\ ": \" Hainan Province \ ", \" code\ ": \" 460000\ "},{\" name\ ": \" Hebei province \ ", \" code\ ": \" 130000\ "},{\" name\ ": \" Henan province \ ", \" code\ ": \" 410000 \ "},{\" name\ ": \" Black river \ ", \" code\ ": \" 230000\ "},{\" name\ ": \" Hubei province \ ", \" code\ ": \" 420000\ "},{\" name\ ": \" Hunan province \ ", \" Code\ " : \ "430000\"},{\ "name\": \ "Jilin province \", \ "code\": \ "220000\"},{\ "name\": \ "Jiang province \", \ "code\": \ "320000\"},{\ "name\": \ "Jiangxi province \", \ "Code\": \ "360000\"},{\ "name\": \ "?? Province \ ", \" code\ ": \" 210000\ "},{\" name\ ": \"? "," code\ ": \" 150000\ "},{\" name\ ": \"? "," The Hui autonomous of the Xia "," \ "" code\ ": \" 640000\ "}, {\ "name\": \ "Qinghai province \", \ "code\": \ "630000\"},{\ "name\": \ "Mountain Province \", \ "code\": \ "370000\"},{\ "name\": \ "Shanxi Province \", "code\": \ " 140000\ "},{\" name\ ": \" "West Province \", \ "code\": \ "610000\"},{\ "name\": \ "shanghai \", "code\": \ "310000\"},{\ "name\": \ "Sichuan province \", \ " Code\ ": \" 510000\ "},{\" nAme\ ": \" Tianjin \ ", \" code\ ": \" 120000\ "},{\" name\ ": \" Xizangzizhi? \ ", \" code\ ": \" 540000\ "},{\" name\ ": \" Xinjiang???? \ ", \" code\ ": \" 650000\ "},{\" name\ ": \" "South Province \", \ "code\": \ "530000\"},{\ "name\": \ "Zhejiang province \", "code\": \ "330000\"},{\ "name\": \ "heavy city \", \ " Code\ ": \" 500000\ "}]";



Preg_match ("#{\" name\ ": \" (. *?) \ ", \" code\ ": \" 350000\ "} #i", $file, $rg 1);
Print_r ($rg 1); exit ();
$Province = $rg 1[1];


Do not know why always get the Fujian province I want to solve.


Reply to discussion (solution)

Change \ Switch to \\\ and try again.

Header ("Content-type:text/html;charset=utf-8"), $file = "[{\" name\ ": \" Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" Beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian province \ ", \" code\ ": \" 350000\ "},{\" name\ ": \" Gan province \ ", \" code\ ": \" 620000\ "},{\" name\ " :\"?? Province \ ", \" code\ ": \" 440000\ "},{\" name\ ": \"? "," code\ ": \" 450000\ "},{\" name\ ": \" state province \ ", \" code\ ": \" 520000\ "},{\" Name\ ": \" Hainan Province \ ", \" code\ ": \" 460000\ "},{\" name\ ": \" Hebei province \ ", \" code\ ": \" 130000\ "},{\" name\ ": \" Henan province \ ", \" code\ ": \" 410000 \ "},{\" name\ ": \" Black river \ ", \" code\ ": \" 230000\ "},{\" name\ ": \" Hubei province \ ", \" code\ ": \" 420000\ "},{\" name\ ": \" Hunan province \ ", \" Code\ " : \ "430000\"},{\ "name\": \ "Jilin province \", \ "code\": \ "220000\"},{\ "name\": \ "Jiang province \", \ "code\": \ "320000\"},{\ "name\": \ "Jiangxi province \", \ "Code\": \ "360000\"},{\ "name\": \ "?? Province \ ", \" code\ ": \" 210000\ "},{\" name\ ": \"? "," code\ ": \" 150000\ "},{\" name\ ": \"? "," The Hui autonomous of the Xia "," \ "" code\ ": \" 640000\ "}, {\ "name\": \ "Qinghai province \", \ "code\": \ "630000\"},{\ "name\": \ "Mountain Province \", \ "code\": \ "370000\"},{\ "name\": \ "Shanxi Province \", "code\": \ " 140000\ "},{\" name\ ": \" "West Province \", \ "code\": \ "610000\"},{\ "name\": \ "shanghai \", \ "code\": \ "310000\"},{\" name\ ": \" Sichuan province \ ", \" code\ ": \" 510000\ "},{\" name\ ": \" Tianjin \ "," code\ ": \" 120000\ "},{\" name\ ": \" Xizangzizhi? \ ", \" Code\ " : \ "540000\"},{\ "name\": "Xinjiang?", "code\": \ "650000\"},{\ "name\": \ "Nan province \", \ "code\": \ "530000\"},{\ "name\": \ " Zhejiang province \ ", \" code\ ": \" 330000\ "},{\" name\ ": \" heavy city \ ", \" code\ ": \" 500000\ "}]";p reg_match ("#{\" name\ ": \" ([^\ "]*) \", \ "code \ ": \" 350000\ "} #i", $file, $rg 1); $Province = $rg 1[1];p rint_r ($Province);

The regular style is best with single quotes, and double quotes are difficult to escape.

If you just want the results, you can use json_decode conveniently and quickly.

Because you wrote too many matches, here. Can match

{\ "name\": \ " Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian province \ ", \" code\ ": \" 350000\ "}

See the red font above to understand, because you do not limit, all will appear you say the question, the simplest is to put. matches, such as [^}] (non-} characters), to exclude the first 2 matches

Preg_match ("#{\" name\ ": \" ([^}]*?) \ ", \" code\ ": \" 350000\ "} #i", $file, $rg 1);

Preg_match (' #{' "Name": "([^:]+)", "Code": "350000"} #i ', $file, $rg 1);

  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.