如何替换包含括号的字符串? (正则表达式)

时间:2016-06-27 01:48:02

标签: php regex

我想问你一些简单的事情。 我有这样的字符串:

  

happy(adj)

     

伤心(v)

我希望用空字符串替换那些括号("")所以它会是这样的:

  

快乐

     

悲伤

我知道我必须使用正则表达式,但因为我是正则表达式中的新手,你能帮我解决模式问题吗?谢谢你:')

1 个答案:

答案 0 :(得分:3)

()需要转义。 .是任何字符,*是前一个字符/ grop的零次或多次出现; +是一个或多个。所以把它与delimiters放在一起就可以了:

<?php
echo preg_replace('/\(.*?\)/', '', 'happy (adj)

sad (v)');

请注意?也会消除*量词http://www.regular-expressions.info/possessive.html的贪婪。

正则表达式演示:https://regex101.com/r/zQ5bW1/2
PHP演示:https://eval.in/595919

或者您可以使用否定的字符类来查找结束)

echo preg_replace('/\([^)]+\)/', '', 'happy (adj)

sad (v)');

替代正则表达式演示:https://regex101.com/r/zQ5bW1/3