カード番号の正規表現ヘルプ

カード番号の正規表現ヘルプ

次のコマンド + REGEX を使用して、一連のファイル内のカード番号を含むすべてのファイルを一覧表示しました。

grep -r -l -e '[3-6]\d{3}([\ \-]?)\d{4}([\ \-]?)\d{4}([\ \-]?)\d{3,4}' *

この正規表現を別のアプリケーションでテストしたところ、成功しました。

答え1

プレーン grep は基本的な正規表現を使用します。正規表現で-dは、認識されない?およびが使用されています。{m,n}

したいのですgrep -Eが、認識されない可能性があります\d。そうでない場合は変更してください[0-9]

grep -Erle '[3-6][0-9]{3}([ -]?)[0-9]{4}([ -]?)[0-9]{4}([ -]?)[0-9]{3,4}' *

または、grep -PPerl互換の正規表現を使用するために使用します

参照:https://www.gnu.org/software/gnulib/manual/html_node/Regular-expression-syntaxes.html

関連情報