• ベストアンサー

正規表現についての質問

テキストエディタでの行の先頭文字が数字ではない行を選択したいのですが、否定の書き方がわかりません。どなたか教えていただけますか? ^[0-9]* → これの否定の書き方 エディタはEmEditorとさくらエディタ使ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.3

> そうですね。"."入れないと途中の数字も選択されてしまいますね。 なんか誤解してるっぽいので、念のため説明。正規表現の意味合いは実装によって多少異なるようですが、通常は"." は任意の1文字。"*" は直前の正規表現の0以上の繰り返しです。なので… 「行頭が数字ではない」だけだったら、これでOK ^[^0-9] ですが、「行頭が数字ではない行全体」を指定するのであれば、 ^[^0-9].*$ となります。 単純にジャンプするだけだったらどちらでもいいですけど、文字列置換などで使う場合は ^[^0-9] ^[^0-9]* ^[^0-9].* で意味が全然違ってくるので、注意が必要です。 ちなみにそれぞれ、 ・非数字の行頭1文字(非数字) ・非数字の行頭から数字が出る直前まで ・非数字の行頭である行全体 を指します。 # 手元のPC-Unixで試したものなので、EmEditorで動きが違ってたらごめんなさい

hasekyou
質問者

お礼

返事が遅くなってすみません。 ご丁寧にありがとうございました。助かりました。

その他の回答 (2)

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.2

> 先頭文字が数字ではない行を選択したいのですが この内容ですと「^[0-9]*」の否定ではなくて「^[0-9].*」の否定では? なので、「^[^0-9].*」が実際にやりたいことでは?

hasekyou
質問者

お礼

そうですね。"."入れないと途中の数字も選択されてしまいますね。 ありがとうございます!

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.1

単純に。 ^[^0-9]* で、よいですか?

hasekyou
質問者

お礼

できました。ヘルプにも書いてありましたね。サンキュー!

関連するQ&A

専門家に質問してみよう