java 正则表达式替换
2008-07-01 10:56
169 查看
一直一来遇到"替换为/" 的时候概念总是很模糊,今天要搞搞清楚。
需要注意的是:/在正则表达式里需要再转义一次,所以replaceAll的第二个参数变得很长。 但是最后一行为什么也是可以的,这个我就不明白了,查了javadoc(在james的引导下),发现有这样一段话: It is an error to use a backslash prior to any alphabetic character that does not denote an escaped construct; these are reserved for future extensions to the regular-expression language. A backslash may be used prior to a non-alphabetic character regardless of whether that character is part of an unescaped construct. 此外还有,这样/这个符号在正则中如果什么都没有跟(没有转义),那么只是简单的引用后面那个字符; 配合上面那段文档也就是说,/+非字母字符 就等于 这个非字母字符(ie:/= 和 = 是一样),这就解释了 /"和"是一样的原因,哈哈。 搞了半天是javadoc没看仔细啊~。。。
System.out.println("/"".replace("/"", "///"")); System.out.println("/"".replaceAll("/"", "/////"")); System.out.println("/"".replaceAll("///"", "/////""));
需要注意的是:/在正则表达式里需要再转义一次,所以replaceAll的第二个参数变得很长。 但是最后一行为什么也是可以的,这个我就不明白了,查了javadoc(在james的引导下),发现有这样一段话: It is an error to use a backslash prior to any alphabetic character that does not denote an escaped construct; these are reserved for future extensions to the regular-expression language. A backslash may be used prior to a non-alphabetic character regardless of whether that character is part of an unescaped construct. 此外还有,这样/这个符号在正则中如果什么都没有跟(没有转义),那么只是简单的引用后面那个字符; 配合上面那段文档也就是说,/+非字母字符 就等于 这个非字母字符(ie:/= 和 = 是一样),这就解释了 /"和"是一样的原因,哈哈。 搞了半天是javadoc没看仔细啊~。。。
相关文章推荐
- Java正则表达式替换的示例
- Java正则表达式(匹配、切割、替换、获取)等方法
- java 正则表达式替换首尾字符或符号
- Java基础---Java---正则表达式-----匹配、切割、替换、获取等方法
- idea java 正则表达式匹配替换
- java正则表达式快速替换指定文本
- Java中关于空格替换的正则表达式,实例代码[转]
- Java正则表达式替换移除空行和多余的空格
- JAVA正则表达式匹配,替换,查找,切割
- java正则表达式来替换文本中匹配正则的内容
- Java正则表达式替换占位符
- Java正则表达式,匹配、替换字符串中的占位符
- Java里面通过正则表达式来实现字符串替换
- java正则表达式获取指定HTML标签的指定属性值且替换的方法
- Java基于正则表达式实现的替换匹配文本功能【经典实例】
- Java 正则表达式替换
- java使用replaceAll的正则表达式替换,非常好用
- java正则表达式替换
- JAVA中正则表达式匹配,替换,查找,切割的方法
- Java基础知识强化76:正则表达式之替换功能