我正在构建一个正则表达式来查找文件中的所有密码。目前的正则表达式是:
(?:pass)(?:word)?(?:[\ ]{0,1})(?:[:=;,]{1})(?:[\ ]{0,1})(?!function)(.[^\s]*)
问题是我不想要包含"功能"在可选的空格之后。
password = potato123! found, is ok
$dbpass=train123; = found, is ok
pass:function($pass); = not found, is ok
$dbpassword= function('dontfindme'); = found, should not be found
看到它的实际效果: https://regex101.com/r/zT1kI3/35
谢谢!
纪尧姆
答案 0 :(得分:1)
最简单的解决方案是移动可选空格的外观,使其成为function
检查的一部分:
(?:pass)(?:word)?(?:[\ ]{0,1})(?:[:=;,]{1})(?![\ ]{0,1}function)(.[^\s]*)
答案 1 :(得分:0)
此正则表达式是否与您的其他样本匹配?
(?:pass|password)\s*[:=;,]\s*(?!\s{0,}function)(\S*)