Php 如果匹配,则提取带括号的字符串(正则表达式)
字符串可以如下所示Php 如果匹配,则提取带括号的字符串(正则表达式),php,regex,Php,Regex,字符串可以如下所示 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
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”,我希望匹配第一个父括号中的整个单词。这应该可以做到:
\(.*(?:a0|a9).*\)
退房地点:
基本上,如果在括号内找到a0或a9,则它与括号内的所有内容都匹配
如果字符串中存在“a0”或“a9”,我希望匹配第一个父括号中的整个单词
(\([^\(]+(a0 | a9)[^\)]+\)
这基本上应该是你想要的
寻找一个左大括号,后跟任意数量的非左大括号字符,然后是a0或a9,然后是另一端的右大括号的“镜像”。您是否试图在这里解析某种编程语言?“需要一个完美的解决方案”-这是在进行大量研究和多次尝试时出现的。老板,我的问题太复杂了,这只是一个问题plz指南,如果你认为我的措辞不合适,请编辑问题。谢谢你的帮助。“无论如何,我只是试着详细解释我的问题”——一个措辞稍好一些的愿望清单,仍然只是一个愿望清单。我们这里没有愿望清单,我们不是圣诞老人的精灵。你至少需要向我们展示你尝试过的东西,展示你已经做出的努力。试一试。(可能需要一些改进,但作为一个起点,它应该可以。)感谢您的回答,但如果文本中没有“Enter”,则此正则表达式不起作用。我调整了正则表达式,以包括行brek和新行: