Regex 匹配以“quot”开头的字符串的正则表达式;Mozilla/5.0(iP)“(并非所有字母数字字符)
有人能帮我找出一个正则表达式来匹配一个以Regex 匹配以“quot”开头的字符串的正则表达式;Mozilla/5.0(iP)“(并非所有字母数字字符),regex,Regex,有人能帮我找出一个正则表达式来匹配一个以Mozilla/5.0(iPplease)开头的字符串吗?最终目标是匹配一个以上述开头、以“30”结尾的字符串 对于第一点,我的最初反应是尝试使用引号,即: Mozilla/5.0(iP) 但显然这在语法上是不正确的。所以我尝试了转义字符,如下所示: ^Mozilla\/5.0\(iP 但显然也是无效的语法。有什么想法吗 我对最终reg-ex(包括结束匹配位)的方法是,假设“string start with”位的转义版本是正确的(这看起来大致正确吗?):
Mozilla/5.0(iP
please)开头的字符串吗?最终目标是匹配一个以上述开头、以“30”结尾的字符串
对于第一点,我的最初反应是尝试使用引号,即:
Mozilla/5.0(iP)
但显然这在语法上是不正确的。所以我尝试了转义字符,如下所示:
^Mozilla\/5.0\(iP
但显然也是无效的语法。有什么想法吗
我对最终reg-ex(包括结束匹配位)的方法是,假设“string start with”位的转义版本是正确的(这看起来大致正确吗?):
^Mozilla\/5.0\(iP.*30$
谢谢
Sam你可以试试这个来增加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结尾的内容
自己测试。解决方案原来是我发布的最后一个正则表达式:
^Mozilla\/5.0\(iP.*30$
。我使用的工具是在键入时添加空字符,但一旦修复了,上面的工作就正常了。^Mozilla\/5.0\(iP.*30$
应该没问题,你的regex风格/工具是什么?@anubhava所以我不需要逃出空格,我正确地逃出了开放圆括号?这是UbuntuYes上的配置文件,没错,但仍然不清楚regex引擎是什么this@anubhava我也是——似乎在任何地方都没有被描述。请给出上面的答案我会接受你自己的尝试是一个相当好的正则表达式,我宁愿不添加相同的答案。+1为你的尝试谢谢Kyle!幸运的是,这不是一个IP我试图匹配,但与调整它也工作。