`
810364804
  • 浏览: 785157 次
文章分类
社区版块
存档分类
最新评论

java反斜杠\的用法

 
阅读更多

java反斜杠\的用法比较怪异,分为两种场景:

1. 正则表达式

匹配点(.) 或{、[、(、?、$、^ 、+和 * 这些特殊符号要要前加双斜框,表示字符类的时候也是用双斜杠譬如(\\s[空白符], \\S, \\d, \\D, \\w, \\W),匹配 \ 时要用四斜杠

2. 字符串

譬如\n, \t, \r 回车换行tap之类的只要一个反斜杠即可,在字符串中表示一个反斜杠只用两个反斜杠即可 \\


顺带提一下String.replace 和replaceAll的区别,前者是匹配字符串替换,后者是匹配正则表达式替换

相同点是:都是对源字符串的全部替换


String s ="sdf\\a\\aa";
System.out.println(s);
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
System.out.println(s.replace("\\", "\\\\"));

这两种替换的结果都是sdf\\a\\aa

源码剖析:

public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}


public String replace(CharSequence target, CharSequence replacement) {
return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(
this).replaceAll(Matcher.quoteReplacement(replacement.toString()));
}


replace比replaceall多了quoteReplacement,这个函数就是把字符串中出现\或者$的前面再添加一个\, 这样的话s.replace("\\", "\\\\")其实后台处理也是八个\


最简单的就是这样记住,在正则表达式中用4个\表示一个\





分享到:
评论

相关推荐

    正则表达式语法

    正则表达式的用法,在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。 在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的...

    java-video-encryptor:使用AES 128位的Java视频加密器

    java-video-encryptor 使用AES 128位的Java视频加密器JVE(Java视频加密器)是一个非常简单的Java Swing应用程序,可用于通过AES 128位保护视频文件(目前仅适用于.mp4类型)。 将来,我将添加更多功能,例如: 多种...

    java基础入门教程

    第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    JAVA代码生成工具

    自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"_dir"后缀 示例: pkg=com.company => pkg_dir=com/company 九.自动拷贝二进制文件至输出目录 如模板目录下的 zip,rar,doc文件将会自动拷贝至...

    MySQL_Fake_Server:MySQL Fake Server用于帮助MySQL客户端文件读取和JDBC客户端Java反序列化

    MySQL的用户名支持冒号、斜杠等特殊符号,但是能否使用还需看具体客户端环境。 根据登录用户名返回文件读取利用报文、反序列化利用报文。 **推荐用法:**config.json中预置了一部分配置信息,可以自己修改添加指定...

    正则表达式教程之元字符的使用详解

    本文实例讲述了正则表达式教程之元...在元字符前面加上一个反斜杠就可以对它进行转义,这样得到的转义序列将匹配那个字符本身而不是它特殊的元字符含义。如,如果想要匹配[和],就必须对它进行转义: 和 。 对元字符转

    CokeScript:CokeScript是一种对空格敏感的语言,可以编译为JavaScript

    范围未损坏( ) 多行字符串不需要反斜杠语言中的虚拟Dom支持该语言的源代码相当简单且简短例子消耗REST API,使用webpack进行构建 使用CRUD REST API的简单前端原子支持Atom的语法高亮显示 Atom的短绒原料药导入...

    mybatis自动生成工具

    自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"_dir"后缀 示例: pkg=com.company => pkg_dir=com/company 九.自动拷贝二进制文件至输出目录 如模板目录下的 zip,rar,doc文件将会自动拷贝至...

    Scala的文件读写操作与正则表达式

    目录 在本篇文章中你将会学习并了解常用的文件处理任务,...6.若你的正则表达式包含反斜杠或者引号,请用”””…””” 7.正则模式包含分组,可以使用for(regex(变量1…,变量2)<- 字符串) 本篇文章要点如下: 读

    EL表达式的详细使用

    对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。必须注意,如果在字符串两端使用双引号,则单引号不需要转义。 Null null 2、操作符 JSP 表达式语言提供以下操作符,其中大部分是 Java 中常用的操作...

    好用的代码生成源码

    自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"dir"后缀 示例: pkg=com.company => pkg_dir=com/company 7. 数据库表配置,用于自定义生成器模板引用的table变量 配置文件必须存放在classpath: ...

    php-1up:PHP 1起! 是基于IntelliJ的IDE的插件,为PHP开发提供了越来越多的检查,意图和其他实用程序集合

    修复 :“用转义符替换引号”在换行符和片段结尾之前过度转义了反斜杠 修复 :“用...变量串联替换引号”将变量作为数组索引更改为字符串 版本0.1.1 修复 :逃脱未命中的逃脱美元符号 版本0.1 添加意图“使用转义...

    正则表达式

    我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非 字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    Tcl_TK编程权威指南pdf

    反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的tcl脚本程序 ....

    C#微软培训资料

    11.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    反斜杠(\)可以被用来分割某些特殊字符。举例如下: $first = 'Hello'; $second = "World"; $full1 = "$first $second"; # 产生 Hello World $full2 = '$first $second';# 产生 $first $second 可以将字符和...

    FreeMark学习笔记

    反斜杠(u005C) \n;换行(u000A) \r;回车(u000D) \t;Tab(u0009) \b;退格键(u0008) \f;Form feed(u000C) \l;< \g;> \a;& \{;{ \xCode;直接通过4位的16进制数来指定Unicode码,输出该unicode码对应的字符. 如果某段文本...

Global site tag (gtag.js) - Google Analytics