RegEx问题 - 无分隔符

时间:2015-11-15 15:57:14

标签: regex

我有下一个日志字符串:

E.....@..@:......F....2...148.277.90.903 - - [15/Nov/2015:16:10:00] "GET

如何分离IP地址(请注意它没有分隔符)

我尝试了下一个正则表达式失败:

(\S+)(\d+\.\d+\.\d+\.\d+) - - \[(.*)] \(.*)

2 个答案:

答案 0 :(得分:0)

使用word boundary anchors并且不要忘记逃避点:

\b\d+\.\d+\.\d+\.\d+\b

请注意,这不会进行任何错误检查。它只会查找由点分隔的四个整数。

答案 1 :(得分:0)

我可能会这样做:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})

...即,由文字句号分隔的一到三位数字。或者如果你想要简约和神秘:

(\d{1,3}(?:\.\d{1,3}){3})

请参阅https://regex101.com/r/dW3mT1/1(这是一个每个人都应该使用的绝佳工具)。