求一Pattern.compile 正则表达式
如:现在我有文件如下:
aaa
bbb
ccc
cda
adf
我想取出开头不是a和b的字符串,表达式怎么写?
如:现在我有文件如下:
aaa
bbb
ccc
cda
adf
我想取出开头不是a和b的字符串,表达式怎么写?
解决方案 »
- 如何用JAVA上传所有类型的文件且满足文件名为中文的情况
- 好久没来问问题啦。这个好久没搞定。在读取快逸报表模板时候出错。。。。。。
- java 中何使面板中的背景图片随面面变大变而改变
- 用JBuilder2005进行编译程序的时候老是出现下面错误提示?该怎么办啊?
- JPanel
- java有没有类似于MSDN的帮助文档呢????
- !!!请问用话筒当声音用什么类,方法!!!!!!!!
- 打算开始学java了,各位推荐几本好书啊!!!
- 请教jbuilder5的安装问题
- 我到底应该学java还是c++啊,我刚毕业,现在有俩份工作,我该选哪个阿!求助
- 对象流只能读/写对象吗?还能读/写其它数据吗?为什么?
- 怎么样用JLayeredPane实现JFreeChart曲线图和Swing表格重叠,谁帮我看下代码
LZ多看看API自己绝对能写出来的
import java.util.*;
import java.util.regex.*;
public class Test7 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> input = new ArrayList<String>();
input.add("aaa");input.add("bbb");input.add("ccc");
input.add("cda");input.add("adf");
ArrayList<String> test = getString(input);
System.out.println("*******getString()*******");
for(String temp : test){
System.out.println(temp);
}
ArrayList<String> test1 = getString(input);
System.out.println("*******getString1()*******");
for(String temp : test1){
System.out.println(temp);
} }
//使用startWith方法实现
static ArrayList<String> getString(ArrayList<String> input){
ArrayList<String> result = new ArrayList<String>();
for(int i=0;i<input.size();i++){
String temp = input.get(i);
if((!temp.startsWith("a")) && (!temp.startsWith("b"))){
result.add(temp);
}
}
return result;
} //使用正则表达式实现
static ArrayList<String> getString1(ArrayList<String> input){
ArrayList<String> result = new ArrayList<String>();
Pattern p = Pattern.compile("^[^ab].*");
for(int i=0;i<input.size();i++){
Matcher m = p.matcher(input.get(i));
while(m.find()){
result.add(input.get(i));
}
}
return result;
}
}
这个不太好吧?这样一个a或者一个b的也会匹配上吧好像。。稍微变一下:"^[^ab].+$"