正規表現による置換


小数点のつく行だけ消そうと思って
^.*不要.*\n
の不要のところに小数点をする、即ち
^.*..*\n
にして置換したら、小数点のない行まで消えてしまいます。
何故でしょう?
(もちろんソフトの正規表現を有効にするチェックボックスはチェックしてあります。)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2018/07/05 04:20:03

ベストアンサー

id:Z1000S No.1

回答回数39ベストアンサー獲得回数27スマートフォンから投稿

.は、任意の一文字なので、小数点として扱いたいのであれば、
\でエスケープして
^.*\..*\n
ではないでしょうか

他3件のコメントを見る
id:Z1000S

"ハ3.3"の後に改行がないとか?

もし、そうであればパターンを
^.*\..*(\n|$)
とすればどうなりますか?

マッチした部分の確認だけであれば、置換ではなく、検索で
上記パターンを指定し、「検索文字列を強調」にチェックをして
上検索か下検索をすれば簡単かと思います。

バックスラッシュが¥と表示されるのは、全く問題ありません。
バックスラッシュが入力できない

2018/07/01 18:19:47
id:minminjp2001

^.*\..*(\n|$)

↑これで置換してみたら小数行消えました。当初の目的が達成できました。

しかし何故^.*不要.*\nや^.*\..*\nではダメなのでしょうか?難しいですね。

2018/07/02 06:19:35
  • id:Z1000S
    >小数点のつく行
    ということは、.の前後が数字てなけれはいけない?
    今のままでは、
    "foo.com"とか"."だけでも
    マッチしますよ。
    ^.*\d+\.\d+.*\n
    ^.*[0-9]+\.[0-9]+.*\n
    のようにした方がいいかもしれないですね

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません