我有一个mysql数据库,我正在尝试使用REGEXP查找一些urls。
然而,我的准则似乎不起作用,就在等号上。
一个示例字段是:
POST /4jEFhi.php?p=o2k8q6j5dm9pau HTTP/1.1 ~主机: example.com ~~用户代理:example.com/4.0(兼容;MSIE7.0;WindowsNT5.1;三叉戟/4.0)
我最初的正则表达式是这样的:
^POST /({6})A-Za-Z0-9_{6}..php\?a=a-Z0-9{10,}
但是,在mysql工作台和phpmyadmin中,我也面临着同样的问题。
首先,这篇文章:
(6}
在MySQL中不工作,我得到以下错误:
错误代码: 1139。从regexp中获得“重复-操作符操作数无效”错误
如果我把它移除,我似乎可以继续
^POST /A-Za-Z0-9_{6}..php\?a=a-Z0-9{10,}
然而,检测似乎停止在=(等于符号)处。
这是可行的,但不那么精确:
^POST /({6})A-Za-Z0-9_{6}..php\?a-z
任何帮助纠正这一点是值得赞赏的,因为我的谷歌技能已撞墙。
发布于 2015-12-12 14:49:24
尝试:
SET @`URL` := 'POST /4jEFhi.php?p=o2k8q6j5dm9pau HTTP/1.1 ~~ Host: example.com ~~ User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)',
@`REGEXP` := '^POST /[A-Za-z0-9_]{6}\\.php\\?[a-z]\\=[a-z0-9]{10,}';
SELECT @`URL` REGEXP BINARY @`REGEXP`;https://stackoverflow.com/questions/34240666
复制相似问题