有人可以帮我找出正则表达式来匹配以Mozilla/5.0 (iP
开头的字符串吗?最终目标是匹配从上面开始到以" 30"。
对于第一位,我最初的反应是尝试引号,即:
^"Mozilla/5.0 (iP"
但显然这在语法上是不正确的。所以我尝试了转义字符,如下所示:
^Mozilla\/5\.0 \(iP
但显然也是无效的语法。有什么想法吗?
我对最终注册表(包括结束匹配位)的方法是,假设"字符串的转义版本以&#34开头;这是正确的(这看起来是否正确?):
^Mozilla\/5\.0 \(iP.*30$
谢谢!
萨姆
答案 0 :(得分:1)
您可以尝试使用PCRE风味
Mozilla\/5.0 \(iP ([\d]{0,3}[\.]{1}){3}30\)
匹配
Mozilla/5.0 (iP 127.0.0.30)
Mozilla/5.0 (iP 174.66.34.30)
警告!它还会匹配无效的IP范围,例如:
Mozilla/5.0 (iP 256.256.256.30)
Mozilla/5.0 (iP 567.556.856.30)
但是,如果您要这样做,您可以确保它们自己处于有效范围内。
它不匹配任何不以30结尾的东西。
See here为自己测试一下。
答案 1 :(得分:0)
该解决方案原来是我发布的最后一个正则表达式:.Sum()
。我正在使用的工具是在我输入时添加空字符,但一旦修复了上面的工作。