Php 字符串中的简单正则表达式“select”x

Php 字符串中的简单正则表达式“select”x,php,regex,Php,Regex,我尝试使用常规表达式选择字符串中的文本,但我正在将其拉出。这太疯狂了 我只想要“全部”的文本 $text = 'jow this should match ("text") and not (this) also not "this"'; preg_match($pattern, $text, $match); echo $match[1]; 我应该使用哪种$pattern 请帮帮我,我快疯了 Thx,试试这个: \"[a-z]*[A-Z]*[0-9]*\" 为了解决这类问题,我倾向于使用一

我尝试使用常规表达式选择字符串中的文本,但我正在将其拉出。这太疯狂了

我只想要“全部”的文本

$text = 'jow this should match ("text") and not (this) also not "this"';
preg_match($pattern, $text, $match);
echo $match[1];
我应该使用哪种$pattern

请帮帮我,我快疯了

Thx,

试试这个:

\"[a-z]*[A-Z]*[0-9]*\"

为了解决这类问题,我倾向于使用一个在线正则表达式工具,或者我将用我正在使用的语言编写一个小型学术程序,以隔离常规表达式。对于这一个,我使用了

如果您只想匹配由paren和双引号包围的值,这应该适合您

    \(".*?"\)
您需要使用正则表达式中的\paren转义prepend,因为paren在正则表达式中是元字符。*后面的问号表示0或更多的量词不贪婪。如果没有它,像

    this ("stuff") would not be ("captured") together 
相配

    ("stuff") would not be ("captured")
而不是

    ("stuff") 

分开

有一件事我没有从你的问题中得到,那就是你是否在尝试匹配或捕获。。。如果您想捕获,您需要添加另一组参数,这次不需要这样做:

    \("(.*?)"\)

我不确定php是如何做到的,但其他语言会将它放入匹配的组对象中,或者放入神奇的变量中,比如$1、$2,等等,用于每个捕获的项目。你必须摆弄它才能把事情弄清楚,但是这个正则表达式应该可以从我对你的问题的阅读中得到你需要的东西。

如果你展示你使用的$pattern,这会有所帮助。Thx可以工作,但如果我把它作为$text-“jow这是一些文本和一些其他文本”。我只获取了1个匹配项,$match[2]为空?您应该使用,然后$match[1]将是所有匹配值的数组。您的意思是\[a-zA-Z0-9]*\,但即使这样,它也会缺少封闭的…文本。
    ("captured") 
    \("(.*?)"\)