2016-10-04 2 views
-2

AWS accessKeyとsecretKeyを検証しようとしています。アクセスキーと秘密鍵 https://blogs.aws.amazon.com/security/post/Tx1XG3FX6VMU6O5/A-safer-way-to-distribute-AWS-credentials-to-EC2Javascriptの等価正規表現

しかし、我々は、Javaスクリプトが正規表現で否定後読みをサポートしていません知っているように、彼らが提案した正規表現は、負の後読みを含んを検証するために正規表現を示唆してAWSのブログの記事を見つけました。だから誰でもJavaScriptで同等の正規表現をお勧めします。

AccessKey: (?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9]) 
This means find me 20-character, uppercase, alphanumeric strings that don’t have any uppercase, alphanumeric characters immediately before or after. 

SecretKey: (?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=]) 
This means find me 40-character, base-64 strings that don’t have any base 64 characters immediately before or after. 

サンプル文字列:https://regex101.com/r/wn7t9D/3

すべてのヘルプ/提案は本当に感謝しています。

おかげ Ruman

+1

*文字列を投稿してくださいあなたはここに一致しようとする代わりにリンク申し訳ありません – choz

+0

を投稿している*説明では正規表現の行をインデントするのを忘れて、ポストを編集しました。ありがとう –

+0

あなたは文字列を反転し、肯定的な先読みを適用することができます... –

答えて

1

あなたは代わりに負の後読みのA-Z0-9範囲で文字列の先頭の交代と否定文字クラスを使用することがあります。

アクセスキー

(^|[^A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9]) 
^^^^^^^^^^^^^ 

regex demo

のSecretKey

(^|[^A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=]) 
^^^^^^^^^^^^^^^^^^^ 

Another regex demo

+1

ありがとう。出来た.. –