我想帮助将其写成正则表达式,因为我知道基础知识,但不知道如何将其翻译成RegEx。
"command:argname-argvalue:arg2name-arg2val!!END!SENDTO:IP.ADD.RE.SS"
命令:确定我必须处理的操作的特定关键字。必须在那里。
参数:(显示2,但不限于2,尽可能多)argument name
和argument value
,用连字符分隔。至少一个。
!!END!
声明表达式的结尾,必须在那里。
SENDTO:000.000.000.000
可选参数,必须匹配SENDTO:
,然后匹配有效的IP地址。
然后我想在Python实现中存储命令,参数名称和参数值对,如果包含,则存储用户ip。
我知道这听起来像是家庭作业,但请大家好我现在知道如何做到这一点,我会花费数小时来学习高级RegEx。如果你能帮助我,我很乐意得到你的帮助。
答案 0 :(得分:1)
以下正则表达式怎么样?
[\w ?]+:\w+-\d+:\w+-\d+!!END!(\\\[)?\w+:\b(?:\d{1,3}\.){3}\d{1,3}\b(\\\])?
这匹配的句子如下:
command:argname-123:arg2name-340234!!END!\[SENDTO:000.000.000.000\]