happy(adj)
伤心(v)
我希望用空字符串替换那些括号("")所以它会是这样的:
快乐
悲伤
我知道我必须使用正则表达式,但因为我是正则表达式中的新手,你能帮我解决模式问题吗?谢谢你:')
答案 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