要通过这样的东西的工作,我倾向于去一个在线正则表达式工具,或者我会用我正在使用的语言编写一个小型的学术程序来隔离正规的exprssion。对于这一个,我用了http://regexpal.com/。
如果你只是想匹配由括号和双引号值,这应该为你工作
\(".*?"\)
你需要“越狱”(有前置\)的正则表达式的括号,因为parens是正则表达式中的元字符。 。*之后的问号使得星号(0或更多)量词不是贪婪的。如果没有它,就像
this ("stuff") would not be ("captured") together
短语将匹配,而不是
("stuff") would not be ("captured")
("stuff")
和
("captured")
分开。
有一件事我没有从你的问题得到的是你是否要匹配或捕获之间的文本(“”)。如果你想捕捉,需要添加另一组括号中(此时转义)是这样的:
\("(.*?)"\)
我不知道PHP是怎么做的,但其他语言把它放进一个匹配组对象或成一个神奇的变量,例如$ 1,$ 2等,用于每个捕获的物品。你必须玩弄这些才能让事情变得顺利,但这个正则表达式应该能够帮助你理解你的问题。
这将帮助,如果你表现出你使用'$ pattern'。 – Tomalak 2012-02-05 17:27:58