less
正規表現検索パターンのリファレンスはどこにありますか?
数字を見つけるために\d
を使用してless
でファイルを検索したいのですが、このワイルドカードを理解できません。 less
正規表現パターンのリファレンスを見つけようとしましたが、manページやインターネットでは見つからず、何も見つかりませんでした。
less
のmanページ はこう言っています:
_ /pattern
Search forward in the file for the N-th line containing
the pattern. N defaults to 1. The pattern is a regular
expression, as recognized by the regular expression library
supplied by your system.
_
したがって、受け入れられる構文はシステムによって異なる場合があります。私のDebianシステムでは、拡張正規表現を受け入れているようです。 regex(7)
と なぜ正規表現がXでは機能するがYでは機能しないのですか?
_\d
_はPerlからのものであり、すべての正規表現エンジンでサポートされているわけではありません。数字を照合するには、_[0-9]
_または_[[:digit:]]
_を使用します。 (正確な動作はロケールによって異なる場合があります。)
less
でサポートされている式は、re_format(7)
マニュアル(man 7 re_format
)に記載されています。このマニュアルでは、システムで使用できる拡張正規表現と基本正規表現の両方について説明しています。 less
ユーティリティは、拡張正規表現を理解します。
数字を照合するには、[0-9]
または[[:digit:]]
を使用します(前者は現在のロケールに依存するため、若干の違いがあります)。 \d
パターンはPerlのような正規表現(PCRE)であり、less
ではサポートされていません。