如何在多行模式中进行全局匹配(类似JS的g)
又或者说,多行模式中的开头和结尾应该怎么表示
又或者说,我想查找一堆文件中,不包含字符串B,的文件应该怎么做?谢谢
(只能使用正则,其它循环的都不允许)
又或者说,多行模式中的开头和结尾应该怎么表示
又或者说,我想查找一堆文件中,不包含字符串B,的文件应该怎么做?谢谢
(只能使用正则,其它循环的都不允许)
解决方案 »
- 请教InitialContext Context 两个类的用法
- 求一个类似MessageBox或者Alert('')这样的窗体?
- 在线等:谁能给俺一段处理(读取和插入)oracle内clob的代码。
- 循环插入
- 请高手解释:抽象类中的方法声明,带有“abstract”和不带有“abstract”的区别。
- 哪位好心人说说JAVA_HOME/bin/下那几个exe的用法吧?
- 散分,关于一个小问题,开发大型库房管理系统,需要什么平台,或是软件,欢迎讨论
- 拖动滚动条后,scroll ,jtable问题多多??
- jbuilder6有bug? 怎解决
- jdk1.3中关于corba的问题?
- 老问题,怎么把 UTF-8 转换成 GB2312
- 统计字符串不同字符
我有一堆文件
我要用JAVA写个代码
在这堆文件中找出其中不包含字符串'AAA'的文件
但是除了文件搜索过程外不能用循环,只能用正则表达式就这样
大牛的博客
tinggo2f
import java.util.regex.Pattern;public class GMatch { public static void main(String[] args) {
String input = "文件内容";
Pattern p = Pattern.compile(".*AAA.*"); //你的正则表达式
Matcher m = p.matcher(input);
//全局匹配:使用 matches 方法,它会尝试将整个输入与模式匹配。
//如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
if (m.matches()) {
//do something
}
}}
我有一个文件A,里面写着
23344
123456789
33455
一个文件B,里面写着
33355
987654321
33445454
现在我要用<一个正则><一次找出>其中不包含字符串'345'的文件
只能使用Pattern.matches();
import java.util.regex.Pattern;public class GMatch { public static void main(String[] args) {
String input = "文件内容";
Pattern p = Pattern.compile(".*AAA.*", Pattern.DOTALL); //你的正则表达式
Matcher m = p.matcher(input);
//全局匹配:使用 matches 方法,它会尝试将整个输入与模式匹配。
//如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
if (m.matches()) {
//do something
}
}}public static final int DOTALL
启用 dotall 模式。 在 dotall 模式中,表达式 . 可以匹配任何字符,包括行结束符。默认情况下,此表达式不匹配行结束符。
String input = "文件内容";
boolean result = Pattern.matches("(?s).*AAA.*", input);
//...
}}
如果没办法确定边界,"不包含"的情况比"包含"的要复杂得多,因为"包含"之中也存在着"不包含"的情况...
麻烦SAGEZK再想一下,谢谢