我正在尝试使用正则表达式来检测源文件中的硬编码信用卡/帐号,而不是评论。
模式:nnnn-nnnn-nnnn-nnnn或nnnnnnnn或nnnnnn / nn
(?:\/{2}.*?$|\/\*.*?\*\/)*.?((?:\d{4}-){3}\d{4}|\d{8}|\d{6}\/\d{2})
标志:g m s
https://www.debuggex.com/i/cEkyuYaQZ7w8viAC.png
我坚持附上的例子,
如果//
存在,我的算法会跳到行尾或/*
跳到*/
,然后匹配其中一个模式。
我设法匹配评论和模式正确购买不能让他们一起工作。
换句话说,如果我的表达中没有错误,我应该如何将(?:\/{2}.*?$|\/\*.*?\*\/)
与((?:\d{4}-){3}\d{4}|\d{8}|\d{6}\/\d{2})
联系起来。
答案 0 :(得分:0)
您应该能够使用这个忽略注释行的内容:
(?:\/{2}.*?$|\/\*.*?\*\/)(*SKIP)(*FAIL)|((?:\d{4}-){3}\d{4}|\d{8}|\d{6}\/\d{2})
Regex101演示:https://regex101.com/r/kI9lB7/1
您可以在此处查看有关此方法的更多信息,http://www.rexegg.com/regex-best-trick.html。