かなり前から正規表現に出くわすことができましたが、残念ながら、困っている友達を助けることはできません。
私の「友達」は、次の基準に一致するテキストファイルのすべての行を一致させようとしています。
- 7〜10桁の数字のみ(0123456または0123456789)
- 7〜10桁の数字、ダッシュ、さらに2桁(0123456-01または0123456789-01)
- コード/コードまたはパスコード/パスコードが一致する番号の前にある場合を除いて、上記のいずれかに一致します(「アクセスコード:16434629」または「パスコード5253443-12」など)
- 編集:一致する番号のみが必要で、他には何も必要ありません。
これが、「彼」が私にくれたのを見た中で最も厄介な正規表現です。
^(?=.*?[^=/%:]\b\d{7,10}((\d?\d?)|(-\d\d))?\b)((?!Passcode|passcode|Code|code).)*$
..。
質問:上記の基準を満たすすべての行を見つけるために短い正規表現を使用する方法はありますか?
PCREを想定します。事前に友達に感謝します。;-)
ところで-私はこの質問に正確に答えることができるstackoverflow.comまたはsuperuser.comにリストされている他の質問を見つけることができませんでした。
編集:私はKodos PythonRegexDebuggerを使用して正規表現を検証およびテストしています。