我有一根这样的绳子:
地址:大大道9号-国家(森林())。
我需要用regex解析它来检索如下数据:
我在用这个正则表达式:
/Adress\:\s(.*(?!\.*\)))\((.*[\(.*\)]?)\)/但他们给出了这个结果:
我搜索了很多信息,但我不知道该怎么做。非常感谢你的帮助。
发布于 2018-02-14 09:08:21
你可以用
'~Adress:\s*(.*?)\s*\((.*)\)~'见PHP regex演示,结果

详细信息
Adress: -一个文字子字符串\s* - 0+白空间(.*?) -第1组:除行中断字符以外的任何0+字符,尽可能少\s* - 0+白空间\( -a ( char(.*) -第2组:除行中断字符以外的任何0+字符,尽可能多\) -a ) char$re = '/Adress:\s*(.*?)\s*\((.*)\)/';
$str = 'Adress: Big Avenue 9 - National (FOREST (THE)).';
if (preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0)) {
print_r($matches);
}发布于 2018-02-14 08:55:38
您可以通过([^(]*)将任何内容匹配到第一个([^(]*),然后在可选的( . )与(\(.*\))?之间进行匹配。
Adress\:\s([^(]*)(\(.*\))?https://stackoverflow.com/questions/48783006
复制相似问题