我是perl语言的新手 - 我一直在努力理解下面的代码
if ( $nextvalue !~ /^.+"[^ ]+ \/cs\/.+\sHTTP\/[1-9]\.[0-9]"|\/\/|\/Images\/fold\/1.jpg|\/busines|\/Type= OPTIONS|\/203.176.111.126/)
请您帮助我们了解上述内容是什么意思?
答案 0 :(得分:2)
$nextvalue
NOT 与regular expression后匹配时,条件为真。
如果该字符串
,则常规表达将匹配"
),
),"
)//
)/Images/fold/1.jpg
”/busines
”/Type= OPTIONS
”/203.176.111.126
”答案 1 :(得分:0)
每当我不确定某些神秘的正则表达式是什么时,我转向Debuggex:
^.+"[^ ]+ \/cs\/.+\sHTTP\/[1-9]\.[0-9]"|\/\/|\/Images\/fold\/1.jpg|\/busines|\/Type= OPTIONS|\/203.176.111.126
这是一个铁路图,每个字符串都有一个符合任何灰色轨道描述的子字符串将匹配你的正则表达式。由于您的条件使用!~
表示“不匹配”,因此这些字符串将无法通过检查。
Debuggex当然有问题(例如它显示^
,这意味着你必须知道这意味着字符串的开头,点和其他的相同,空格显示为下划线等等)但它肯定有帮助了解表达式的结构,并可能让您了解作者的想法。