我一直在尝试使用正则表达式从字符串中解析数字地址。
到目前为止,我已经能够从字符串 http://63.88.73.26:80/ 成功获取数字地址(部分)63.88.73.26:80 。然而,我一直试图跳过 :80/,但没有成功。
到目前为止我尝试过的是:
Pattern.compile("[0-999].*[0-999][\\p{Digit}]", Pattern.DOTALL);
但是仍然包括:80
我不知道我在这里错过了什么,我试图在最后检查\p{Digit} ,但这也没有多大作用
感谢您的宝贵时间!
最佳答案
您正在寻找积极的展望(?=...)
。仅当其后跟有特定表达式(即正向前瞻括号中的表达式)时,该表达式才会匹配。以最简单的形式,您可以拥有
[0-9\.]+(?=:[0-9]{0,4})
尽管您可能需要将 [0-9\.]+
部分(匹配 1 个或多个数字或句号)更改为更完整的内容,以检查您是否拥有格式正确的地址
访问 regexr.com,您可以随心所欲地调整自己的表达方式,直到成功为止...
关于java - 解析数字地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40893740/