2012-03-19 8 views
1

正規表現を使用して、 "DOCID = 1234567 THIS IS TEST"のような文字列を解析し、数字の後の残りの文字列を削除します。正規表現を使って文字列を解析する必要があります

どうすればVIMエディタを使用できますか? Perlで

+0

あなたの言語は何を削除するためが

  • .*他のすべて
  • あなたが置換文字列を省略することができ、ここで試合の開始を設定しますか? – Toto

  • +0

    あなたはどの言語を使用していますか? –

    +0

    みんな、言語は重要ですか?その正規表現の質問、あなたは彼が使用している正規表現エンジンを求める必要があります。 – rapadura

    答えて

    4

    $str =~ s/(= \d+).*$/$1/; 
    
    PHPで

    :VIMで

    $str = preg_replace('/(= \d+).*$/', "$1", $str); 
    
    +0

    上記のグループを選択するには '(。* = \ d +)'でなければなりません。 – slashmais

    +0

    @slashmais:いいえ、最初のグループのすべての試合を置き換えるため、必須ではありません。 – Toto

    0
    Javaで

    string.replaceFirst("(= \\d+).*$","\\1");

    1

    、コマンドモード(ESCキーを押します)で、書き込み:

    :s/\([^0-9]\+[0-9]\+\).*/\1/ 
    

    これは仕事をします。 あなたは、可能なすべての交換を行いたい場合:説明

    :%s/\d\+\zs.* 
    

    仕事をする
    :s/\([^0-9]\+[0-9]\+\).*/\1/g 
    
    2

    • %バッファ全体を使用し、あなたはこれを省略することができます現在の行だけを変更したい場合
    • s代替コマンド
    • \d\+試合など、多くの数字
    • \zs
    • あなたは試合
    関連する問題