首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

Java正则表达式,该如何处理

2012-01-15 
Java正则表达式String source My name is Java. I send Hello Java. Echo Request!String[] result2

Java正则表达式
String source = "My name is Java. I send Hello Java. Echo Request!";


String[] result2 = source.split("Java.\\s*(?!I send)");


for(String line:result2){

System.out.println(line);

}
为啥结果是
My name is 
 I send Hello 
Echo Request!

第一个Java. 应该不匹配上啊,因为我不允许其后边是 "几个空格+I send"啊

[解决办法]
"Java.\\s(?!I send)"
[解决办法]

探讨

为什么 \\s可以\\s*不可以

[解决办法]
探讨

为什么 \\s可以\\s*不可以

[解决办法]
探讨

[Quote=引用:]

哇。高手啊。
意思就是说,这种(?!I send)是在匹配上的第一下的位置也就是 Java.的地方,就去环视,环视发现只要没有跟着I send就OK了? 我这个 \\s* 是匹配所有空白啊,为啥不是 "Java. "这个Java.\\s* 匹配完毕再去环视呢? 不是尽最大力量的匹配么?

热点排行