2016-10-04 10 views
-2

Я пытаюсь проверить доступ к AWSKey и secretKey. Обнаружил блоге AWS, которые предполагают регулярное выражение для проверки Accesskey и SecretKey https://blogs.aws.amazon.com/security/post/Tx1XG3FX6VMU6O5/A-safer-way-to-distribute-AWS-credentials-to-EC2Эквивалентное регулярное выражение в Javascript

Но регулярного выражения они предложили включает в себя отрицательные назад ', как мы знаем, ява-скрипт не поддерживает отрицательные в регулярном выражении' назад. Так кто может предложить эквивалентное регулярное выражение в 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 диапазона вместо отрицательного просмотра назад:

Accesskey:

(^|[^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

Спасибо. Это сработало.. –