oracle使用正则表达式提取ip地址

text_android 发布于 2015/01/29 14:02
阅读 1K+
收藏 0

原始字段中将所有日志都记录成一条信息了 类似于 张三使用账号zhangshan在2015年11月11号使用[客户端IP]:192.168.1.1,111.83.2.31,[mac地址:]XXXXXXX登录了系统。

现在我需要使用oracle的正则表达式select regexp_substr(log','正则表达式匹配' ) REGEXP_SUBSTR from dual;

这样的方式提取出IP地址信息,请问应该如何写正则表达式呢?

加载中
0
t
text_android
找了个笨办法,oracle调用java程序,使用java程序处理其中的逻辑
0
stefanzhlg
stefanzhlg
SELECT REGEXP_SUBSTR(username,'([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}',1,2,'i') AS STR

from dual;

返回111.83.2.31

SELECT REGEXP_SUBSTR(username,'([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}',1,1,'i') AS STR
from dual;

返回192.168.1.1

返回顶部
顶部