正则表达式是一个非常强大的工具。可以完成许多我们需要很多代码量的工作。
我自己对于正则表达式没有系统的认真学过,平时总是用的时候再临时查(ps主要是因为本人太懒!)。所以很多知识都很模糊。
今天在写java程序时用正则表达式来去除重复的内容。举个例子:
public static void main(String [] args){ Pattern pat = Pattern.compile("(\\w+),\\1"); String test = "咱们结婚吧,咱们结婚吧"; Matcher m = pat.matcher(test); if(m.find()){ System.out.println("match"); System.out.println(m.group(1)); } else System.out.println("no match"); }
后来在网上查了一下才知道,原来是各个平台对正则表示元字符的解释不同。在java中,\w不能匹配汉字,需要用\W来匹配汉字。这与原始的正则表达式不同。
经过修改后,表达式可以正确匹配了。