java正则表达式提取网址

网址是 127.111.1.112:8080
怎么才能分别把:之前的 和之后的提取出来呢
最新回答
吧唧你一口

2024-04-16 02:10:37

  1. 用字符串的split方法

    var ip = '127.111.1.112:8080';

    var addr = ip.split(':')[0];

    var port = ip.split(':')[1];

  2. 用正则

    var reg=/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\:(\d{1,4})/;

    var ip = '127.111.1.112:8080';

    var addr = ip.replace(reg,'$1');

    var port = ip.replace(reg,'$2');

  3. 还可以间接使用字符串其他的方法,或者是数组的

思慕

2024-04-16 21:49:23

最简单的是split,str.split(":"),会返回一个string数组。注意小括号里的冒号是中文的还是英文的,要和127.111.1.112:8080中的一样。

如果用正则
([\\d.]+):(\\d+)
第一个分组是IP,第二个分组是端口号
春光乍泄

2024-04-16 17:26:44

把网址当成一个字符串,用split分割成2个新的字符串,分割标志就是:。