3
function get_last_word($sentance){
    $wordArr = explode(' ', $sentance);
    $last_word = trim($wordArr[count($wordArr) - 1]);
    runDebug( __FILE__, __FUNCTION__, __LINE__, "Sentance: $sentance. Last word:$last_word",4);
    return $last_word;
}

{} 間のすべてのテキストを削除したい結果は次のようになります。

function get_last_word($sentance){}

私が試してみました

{+.*}

中括弧が同じ行にある場合にのみ機能します

4

3 に答える 3

12

新しいバージョンの Notepad++ は複数行の一致をサポートしています (現在 6.1.3 を使用しています)

[検索/置換] ダイアログの [正規表現] ラジオ ボタンの横に、複数行の一致を意味する [. は改行に一致] というチェックボックスがあります。

次に、\{.*?\}(これは貪欲でない一致です)を使用して、目的を達成します。

中括弧と一致しないことに注意してください。例えば

foo {
  bar {
    blabalbla
  }
  xxx {
    yyy
  }
}

あなたにあげます

foo {}
  xxx {
    yyy
  }
}

(正規表現でのブレース マッチングについて SO に他の質問があると思います。メモ帳 ++ で機能するかどうかは疑問ですが、ご覧になることもできます)

于 2012-07-27T02:28:53.677 に答える
6

繰り返し ,に置き換えるだけ\{[^{}]+\}で問題ないはずです...{}

正規表現の視覚化

于 2012-07-27T14:40:09.973 に答える
2

試す

(?<=\{)[^}]+(?=\})

これは、{と}の間にあるものすべてに一致します

于 2012-07-27T00:10:11.753 に答える