正则表达式陷阱

 对于正则表达式我们可能经常会看到,也许也不会感到任何陌生,那么请看下面的一个正则表达式的陷阱:

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);
		}
	}
}

  

 

原文地址:https://www.cnblogs.com/xiohao/p/4350686.html