生物信息中有时候会遇到JAVA写的程序,今天阅读源码的时候发现对于正则中的转义符不好理解,后来查资料后终于弄明白了,这里详细说明一下:

  字符串的表示有三种方法:1、直接单字符,例如“A”;2、由转义字符表示的特殊字符,例如“\t”; 3、Unicode字符,例如“\u0008”。其中转义字符表示的字符串,显示出来的就是这种模式,例如“\t”与“  ”是同一个字符串,“abc\tefg”与"abc  efg"是同一个字符串。

  但是单独的“\”是不能出现在JAVA的字符串中作为字符串的,比如说如果要打印“abc\efg”,这时会报错:“错误:非法转义符”。这是因为系统把“\e“当做转义符,但是实际上并没有这个转义符。如果真的要将“\”作为一个符号打印输出,那么就应该在"\"前面再加一个“\”以表示后面的“\”是要被输出,例如打印输出“abc\\efg”,这时终端就会显示“abc\efg”。

  同样的在正则表达式中,“\u0041\\\\” 将匹配"A\"。 乍一看有点晕,怎么有这么多反斜杠。前面已经讲过了,这时因为在JAVA中‘\’单独出现会报错,所以此处的四个“\\\\”可以看成两个,而这两个“\\”又可以看成是对一个“\”的转义了(在正则表达式中)。例子如下: 打印输出“abc\\\efg”时会报错“错误:非法转义符”;打印输出“abc\\\\efg”时显示“abc\\efg”;打印输出"abc\\\\\efg"时同样的报错,而打印输出"abc\\\\\\efg”则显示“abc\\\efg”。

  总结一下,也就是说,如果在字符串中如果出现了多个“\”连在一起,那么两个两个一起看。如果在正则表达式中出现了多个“\”连在一起,那么要四个四个一起看,这四个一起是匹配一个“\”字符,因为如果只有两个“\”的话,那么实际上就是一个“\”,它后面还要有例如‘t’,'d'这样的字符跟着才能表示转义,否则就会报错。

转载于:https://www.cnblogs.com/Demo1589/p/7092339.html

JAVA 中转义符的理解相关推荐

  1. 在java中转义符 n代表什么_在Java中,表示换行符的转义字符是()。 A.\nB.\fC.n D.\ddd...

    在Java中,表示换行符的转义字符是(). A.\nB.\fC.n D.\ddd 更多相关问题 单选(2分) Who\\\'s one the biggest challenges in design ...

  2. 关于Java正则表达式中转义符“\\”的使用

    一.前言 在复习到正则表达式这一部分的内容时,我注意到Java中要想使用转义符必须要用双反斜杠来达到其他语言中单反斜杠的效果,出于对这个问题的好奇我查阅了一些资料,并初步了解了Java正则表达式中转义 ...

  3. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  4. 如何在Java中转义JSON字符串-Eclipse IDE技巧

    在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. 这是测试和学习Java中解 ...

  5. java修饰符总结,关于Java中修饰符的总结(fina除外)

    public/protected/private public表示公开,private表示私有,protected表示保护,什么都不写表示默认default. 方法: public protected ...

  6. 在 Java 中转义 HTML

    本文介绍如何在 Java 中转义 HTML 字符和符号.我们可以使用 Apachecommons-text和StringEscapeUtils.escapeHtml4(str)方法来转义 Java 中 ...

  7. 如何在Java中转义HTML

    在Java中,我们可以使用Apache commons-text , StringEscapeUtils.escapeHtml4(str)来转义HTML字符. pom.xml <dependen ...

  8. Java中Map集合如何理解(四)——精简

    目录 引言 概念 Map集合实现类 HashMap LinkedHashMap TreeMap 默认排序 自定义排序方式 常用API 遍历Map集合 键找值 键值对 Lambda表达式 结束语 引言 ...

  9. python中转义符的用法大全_Python中的各种转义符\n\r\t

    Python中属性和描述符的简单使用 Python的描述符和属性是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和 ...

最新文章

  1. 计算机上配置的网卡 实质上是,()计算机上配置的网卡,实质上是_ ___。
  2. set_union()和set_intersection()的用法
  3. php mysql 分组 分页_简单的PHP+Mysql实现分页
  4. (线段树)hdoj1166-敌兵布阵
  5. Oops! the requested resource is not found!
  6. 6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序
  7. bash:express:command not found
  8. 手把手教你训练一个神经网络,打爆21点!
  9. Java中IO流,输入输出流概述与总结
  10. 二叉搜索树的第 k 大节点
  11. android手势_Android手势检测器
  12. Internet Explorer 升级到IE11遇到问题案例分析
  13. 微信小程序(翻译小助手)项目实战
  14. 谷歌总是找不到想要的内容?学会这14个技巧,立马就能找到
  15. 一大批裁员降薪企业名单在路上,你中了吗?
  16. 什么叫做正向代理和什么叫做反向代理
  17. Unity Json存档读档操作
  18. vue前端怎么下载后端返回的二进制流excel表格文件
  19. 计算机网络-第1章 计算机网络和因特网-同步电大进度
  20. 中国法定节假日天数以及世界各国放假天数

热门文章

  1. win10不能访问服务器共享文件夹权限,win10系统共享文件夹无法访问的解决方法...
  2. atiken插值c++_c++插值代码
  3. Flink 读取 Mysql
  4. 持久化存储技术之本地存储
  5. [USACO13MAR]Farm Painting【枚举】
  6. 加快网站速度的最佳做法_(1)最小化http请求
  7. soapUI和Jmeter的接口测试结构区别
  8. send anywhere:一个全平台的文件传输神器
  9. Struts2 Jakarta远程执行代码测试
  10. Windows下AndroidStudio 中使用Git(AndroidStudio项目于GitHub关联)