对于正则表达式我们可能经常会看到,也许也不会感到任何陌生,那么请看下面的一个正则表达式的陷阱:
package com.yonyou.test;
/**
* 测试类
* @author 小浩
* @创建日期 2015-3-2
*/
public class Test
{
public static void main(String[] args)
{
String str = "java.is.funny.www.crazyit.org";
// 将这个字符串以点号(.)分割成多个字符
String[] strArr = str.split(".");
// String[] strArr = str.split("\\.");
for (String s : strArr )
{
System.out.println(s);
}
}
}
最后结果什么有么有输出,是不是很奇怪。哈...
这里就进入了正则表达式的陷阱...
因为如果不加\\的话,那么“.”代表匹配所有字符,所以最后就没有结果的。
正确使用方法是下面的例子:
package com.yonyou.test;
/**
* 测试类
* @author 小浩
* @创建日期 2015-3-2
*/
public class Test
{
public static void main(String[] args)
{
String str = "java.is.funny.www.crazyit.org";
// 将这个字符串以点号(.)分割成多个字符
// String[] strArr = str.split(".");
String[] strArr = str.split("\\.");
for (String s : strArr )
{
System.out.println(s);
}
}
}