论坛首页 Java企业应用论坛

java 正则表达式匹配斜杠

浏览 10880 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (21) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-03-22   最后修改:2009-03-22
在正则表达式里面匹配一个斜杠,需要用4个斜杠:
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String textString = new String ("\\\"");
		
		Pattern pt=Pattern.compile("\\\\\"");
		
		Matcher mc=pt.matcher(textString);
		
	         mc.replaceAll("xx");
		
		//textString.replaceAll("\\", "xx");
		
		String bl=mc.replaceAll("xx");
		
		System.out.println(textString);
		System.out.println(bl);
		}

}


分析一下“\\\\”,第一个斜杠是转义符,第二个斜杠是斜杠本身,第三个斜杠是转义符,第四个斜杠是斜杠本身。

有2点要清楚:
1.字符串里面表示斜杠就需要两个斜杠如“\\”
2.正则表达式里的斜杠需要转意,是用“\\”标示。
这样就比较好解释:
我们先要表示正则表达式里面的斜杠“\\”,然后再用字符串表示出来。而这2个斜杠分别需要一个转义符,这样就成了4个斜杠在正则表达式里面表示一个斜杠。  原来是这样!
   发表时间:2009-03-25  
是这样的,就如$ 在匹配时也是需要:\\$
0 请登录后投票
   发表时间:2009-09-09  
非常感谢楼主,我因为要匹配文件路径,弄了一个晚上。
0 请登录后投票
   发表时间:2009-09-10  
java的正则太弱了
还是perl舒服


/\/\//
0 请登录后投票
   发表时间:2009-09-10  
java的正则实在是笨拙。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics