2016-06-27 13 views
-1

私はあなたに何か簡単に聞きたいです。 私は、文字列のように持っている:ブラケットを含む文字列を置き換える方法は? (正規表現)

幸せ(ADJ)

悲しい(V)

と私は空の文字列(」「)で、これらのブラケットを交換したいので、それはこのようなものです:

幸せ

悲しい

私は正規表現を使用する必要があることを知っていますが、私は正規表現で新しいので、パターンの男と私を助けることができますか?ありがとう: ')

+0

の可能性のある重複する[phpは:?文字列からブラケット/内容を削除](http://stackoverflow.com/questions/1336672/php-remove-brackets-contents -from-a-string)または[カッコ間のテキストの削除](http://stackoverflow.com/questions/2174362/remove-text-between-parentheses-php)を参照してください。 –

答えて

3

()はエスケープする必要があります。 .は任意の文字で、*は前の文字/ gropの0回以上の出現です。 +は1つ以上です。だから、delimitersと一緒にそれを入れて、あなたが持っている:*数量詞、http://www.regular-expressions.info/possessive.htmlの貪欲を奪うだけでなく

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

sad (v)'); 

注意?を。

正規表現のデモ:https://regex101.com/r/zQ5bW1/2
PHPデモ:https://eval.in/595919

か、決算)を見つけるために否定文字クラスを使用することができます。

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

sad (v)'); 

代替正規表現デモ:https://regex101.com/r/zQ5bW1/3

+0

ブラケットの前のスペースも削除する必要があると思います。 – Akam

+0

OPの意図かどうかは不明です。しかし、もしそうなら、アプローチはあります。https://regex101.com/r/zQ5bW1/4またはhttps://regex101.com/r/zQ5bW1/5 – chris85

関連する問題