求个正则表达式 有一个ip数据库192.168.0.1118.122.0.24...........排除含 192,189,221 开头的ip请教怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 排除192,189,221 开头的ip 只要得到匹配192,189,221 开头的ip 然后去反就行了在ip数据库里匹配192,189,221 开头的ip 不用正则就行吧 Java的String类不是有startsWith()和endWith()方法吗? (\\d\\d\\d\\.){3}(?<!192\\.189\\.221\\.)\\d\\d\\d 前面那个(\\d\\d\\d\\.) 是什么意识啊 ()\\.\d+\\.\d+\\.\d+]主要是红色里怎么写,我是用string.matches()来进行判断的,谢谢 6楼的写法已经可以了。但是(\\d\\d\\d\\.)我觉得写成(\\d{3}\\.)更省事吧? (?!192|189|221)\d{1,3}\\.\d{1,3}\\.\d{1,3}\\.\d{1,3} /**有一个ip数据库192.168.0.1118.122.0.24...........排除含 192,189,221 开头的ip请教怎么写?*/import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.ArrayList;public class Test{ public static void main(String[] args){ String[] IPArray = new String[]{ "192.168.0.1", "123.168.0.1", "189.123.1.1", "211.1.1.1" }; Object[] result = getResult(IPArray); System.out.println("The result is:\n"); for(Object o : result){ System.out.println(o); } } //这里暂不处理IP是否符合规则 private static Object[] getResult(String[] IPArray){ ArrayList<String> list = new ArrayList<String>(); String regex = "^(192|189|211).*"; for(String ip : IPArray){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(ip); if(matcher.matches()){ continue; } list.add(ip); } return list.toArray(); }} 你少加几个\应该是这样的(?!192|189|221)\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3} 关于java访问控制修饰符的小问题,求解 定时器Timer().schedule的预期时间问题 缺少返回语句 为何JDialog弹出后,只有标题栏那么大小? 50分帮忙查一个程序错误。有源代码 输出问题求解 Java-基础 jbuilder7LicenseGen 怎么注册? about weblogic 在英文NT下面,如何显示中文字符么? 数组相加怎么写 谁能帮我分析以下这个程序的详细执行过程 在线等
在ip数据库里匹配192,189,221 开头的ip 不用正则就行吧
/**
有一个ip数据库
192.168.0.1
118.122.0.24
...........
排除含 192,189,221 开头的ip请教怎么写?
*/import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;public class Test{
public static void main(String[] args){
String[] IPArray = new String[]{
"192.168.0.1",
"123.168.0.1",
"189.123.1.1",
"211.1.1.1"
}; Object[] result = getResult(IPArray); System.out.println("The result is:\n");
for(Object o : result){
System.out.println(o);
}
} //这里暂不处理IP是否符合规则 private static Object[] getResult(String[] IPArray){
ArrayList<String> list = new ArrayList<String>();
String regex = "^(192|189|211).*";
for(String ip : IPArray){
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(ip);
if(matcher.matches()){
continue;
}
list.add(ip);
}
return list.toArray();
}
}
应该是这样的
(?!192|189|221)\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}