こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

正規表現を使用して(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)

投稿日時 - 2016-12-06 22:01:12

QNo.9264920

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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";
}

投稿日時 - 2016-12-07 22:25:36

ANo.2

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

投稿日時 - 2016-12-07 02:03:35

ANo.1

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

投稿日時 - 2016-12-06 23:30:58

あなたにオススメの質問