String s="iraq ";
String regex="\\w*(?!u)";
Matcher m=Pattern.compile(regex).matcher(s);
while(m.find()){
System.out.print(m.group()+"*");
}
//result iraq*** 为什么是这个?请详解,谢谢。
解决方案 »
- 兽医请教曲线拟合问题
- 画图
- 看看这个面试题!!!!
- 新手请教个循环语句问题,兄弟们请帮忙!
- 读取文本文件
- weblogic7可以配置二级域名指向吗?如何配置?谢谢,小弟我实在是不熟,万分感谢
- byte[] -> String 该怎样转换?
- java, application , 图形对象, 移动, 示例, 请教 ,多谢
- 我用javac编译HelloWorld.java为什么出现 错误:不能读 HelloWorld.java
- 那位知道JBuilder中的tomcat与apache是什么关系?
- BufferedImage类的createGraphcs2D()方法怎么用?
- 较简单的问题提问: 数组下标
String s="iraq ";
String regex="\\w*(?!u)";
你要看清楚字符串是:iraq空格\w*首先匹配0到任意个单词字符,因为是贪婪的,所以匹配到 iraq这你按照你的打印 所以输出 iraq*接着匹配一个空隙,也就是空格前的空隙 ,打印一个*然后再匹配空格后面的一个空隙,再打印一个*所以输出的就是 :iraq***
你可以把你的输出语句修改一下System.out.println(m.group()+"*");//加个换行,看的比较清楚一些
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置