• 締切済み

正規表現を使用した置換(サクラエディタ)

正規表現を使用して(7桁の数値)のみを残す置換をしようとしましたが上手くいきません、上手い方法はありませんでしょうか。 (7桁の数値)がなくても改行は残す置換を行いたいです 例 1行:12345(1000000)1145 2行:231(1234567)231(8901234)235 3行:235677433 4行:(1111111)(2222222)333 ↓ 置換 1行:(1000000) 2行:(1234567)(8991234) 3行: 4行:(1111111)(2222222)

みんなの回答

  • Wap58
  • ベストアンサー率33% (29/87)
回答No.3

perlだと、こんな感じでしょうか gスイッチ外すと無限ループでえらい事になります $an ="12345(1000000)1145 231(1234567)231(8901234)235 235677433 (1111111)(2222222)333 "; while( $an =~ m[(\(\d{7}\)|\n)]g ){ print"$1"; }

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

\b(\d{1,6}|\d{8,})\b で、1~6桁の数値、または8桁以上の数値にマッチするので空文字列に置換すれば消えます。

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

sed 's/\<[0-9]\{,6\}\>//g;s/\<[0-9]\{8,\}\>//g' file \<\> が使えるならこんな感じ? もっと簡単な方法もあるかもしれない

関連するQ&A