我想排除一些特定的单词,如果这些单词不匹配,那么应该匹配一个md5哈希,例如。
这里以小圆木为例
"value": "ef51be4506d7d287abc8c26ea6c495f6", "u_jira_status": "", "u_quarter_closed": "", "file_hash": "ef51be4506d7d287abc8c26ea6c495f6", "escalation": "0", "upon_approval": "proceed", "correlation_id": "", "cyber_kill_change": "ef51be4506d7d287abc8c26ea6c495f6", "sys_id": "ef51be4506d7d287abc8c26ea6c495f6", "u_business_service": "", "destination_ip": "ef51be4506d7d287abc8c26ea6c495f6", u'test': u'9db92f08db4f951423c87d84f39619ef'
正如您所看到的,有多个值应该匹配,只是不包括“value”和“id”
这里是我目前使用的正则表达式
([^value|^id](\":\s\"|':\su')\b)[a-fA-F\d]{32}\b
有两种情况在排除之后可能是“某物”:“hash”“某个东西”:u '哈希'
使用前面的正则表达式,结果如下:x1c 0d1x
结果如预期的那样排除了value和id,但是有一个名为“cyber_kill_change”的值由于某种原因而不匹配,而其他值如预期的那样匹配“file_hash”、“destination_ip”和“test”。“请输入以下信息:“”“”“”“一种新型的汽车制动器
而不仅仅是MD5(在本例中,所有3个匹配项都相同)9db 92 f08 db 4f 951423 c87 d84 f39619 ef
有人能给我解释一下如何正确配对吗?
注意对于排除项,我不能使用类似于此(?〈!value| id)我想添加正则表达式的软件不接受〈和!。如果有帮助的话,我正在尝试将此正则表达式用于XSOAR,这里有一些允许的Syntax的文档
1条答案
按热度按时间jyztefdp1#
“cyber_kill_change”以字符“e”结尾,这与“value”中的最后一个字符相同,这就是它也被排除在外的原因。当您使用方括号
[]
时,问题就开始了,这是一个“字符类”,意思是“单词value或Id中的任何字符都将作为单个字符匹配,而不是作为一个单词匹配”。它与以下内容相同:要完全匹配单词,可以使用
(value|id)
,也可以尝试使用以下表达式:我使用CyrilEx Regex Tester检查表达式,得到的结果与下图所示相同:
Regex Tester