首页 > 解决方案 > 如果匹配,则提取带括号的字符串(正则表达式)

问题描述

字符串可能如下。

poptype in ('01')
and (a0='169'or a1='169'or a2='169'or a3='169'or a4='169'or a5='169'or a6='169'or a7='169'or a8='169'or a9='169')  
and (sku in ('67798240','67724312','67724313','67460442','67629434'))  
and (geo_code in ('D01365','D01353','D01354','D01356','D01364','D01357','D01555'))

结果应如下所示:

需要输出:

(a0='169'or a1='169'or a2='169'or a3='169'or a4='169'or a5='169'or a6='169'or a7='169'or a8='169'or a9='169')

如果字符串中存在“a0”或“a9”,我想匹配第一个括号内的整个措辞。

标签: phpregex

解决方案


这应该这样做:

\(.*(?:a0|a9).*\)

查看:https ://regex101.com/r/SWtZh4/1 基本上,如果在其中找到 a0 或 a9,它会匹配括号内的所有内容。


推荐阅读