douerqu2319 2018-02-14 08:50
浏览 149
已采纳

正则表达式首次出现括号

I have a string like this:

Adress: Big Avenue 9 - National (FOREST (THE)).

And i need parse it with regex to retrieve some data like this:

  • Big Avenue 9 - National
  • FOREST (THE)

I'm using this regex:

/Adress\:\s(.*(?!\.*\)))\((.*[\(.*\)]?)\)/

But they giveme this result:

  • Big Avenue 9 - National (FOREST
  • THE)

I've searching lot's information, but I don't know how can I do it. Thank you so much for your help.

  • 写回答

2条回答 默认 最新

  • duanba5777 2018-02-14 09:08
    关注

    You may use

    '~Adress:\s*(.*?)\s*\((.*)\)~'
    

    See the PHP regex demo, results

    enter image description here

    Details

    • Adress: - a literal substring
    • \s* - 0+ whitespaces
    • (.*?) - Group 1: any 0+ chars other than line break chars, as few as possible
    • \s* - 0+ whitespaces
    • \( - a ( char
    • (.*) - Group 2: any 0+ chars other than line break chars, as many as possible
    • \) - a ) char

    See a PHP demo:

    $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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100