一直很奇怪为什么Java和Tcl的正则表达式之间有这样的一个差异,即Tcl正则表达式中的转义符\在Java正则表达式中一律会需要写成\\。

比如,Tcl的正则表达式为 "^Case\_name\s*\=\s*(.*)"

对应的Java正则表达式则需要写成 "^Case\\_name\\s*\\=\s*(.*)"

而如果需要去匹配字符串中的\,在Tcl中需要写成"\\",而在Java中需要写成"\\\\",

一个例外可能是要匹配字符串中的"(双引号),在Java中只需要写成"\""。

因为想要将正则表达式作为一个String的参量

传递给Java某个字符串的matches函数,发现正确的写法,恰恰就是需要将该参量的字符串形式写成如Tcl的正则表达式。或许这就是为什么Java要用双反斜杠而不是像Tcl中那样用单反斜杠的原因?

一个例子程序是:

String mp = "";

mp通过某配置文件来赋值而不是直接写成mp="xxxxx"

在配置文件中需要写成 ^Case\_name\s*\=\s*(.*)

等效于 直接赋值方式的 mp = "^Case\\_name\\s*\\=\\s*(.*)"

if (strLine.matches(mp)) {

Pattern

p = Pattern.compile(mp);

Matcher

match = p.matcher(strLine);

match.find();

String

value = match.group(1);

...

}

java 配置写成表达式_Java的正则表达式之小结相关推荐

  1. java 配置写成表达式_菜鸟第一天java问题2:请帮我改作业——表达式问题

    1) y += z-- / -+x; 相当于y = y + ((z--) / (x * 1 * -1)) = 2 + (3/-1) = 2 + (-3) = -1 第3.4题先把十进制转成二进制,再列 ...

  2. java规则表达式_Java基础--正则表达式的规则

    注意:正则表达式只关注格式是否正确,不关注内容是否有效. 一.字符集合, []表示一个字符. 1.[abc] :指a,b,c中的任意一个字符. 2.[^abc]:指除了a,b,c外的任意字符. 3.[ ...

  3. java单个变量的表达式_java中使用Lambda表达式的5种语法

    1,标准写法 思考下述情况: String[] arr = {"program", "creek", "is", "a" ...

  4. 怎么把Java代码写成一道风景?

    一.引言 嘻嘻嘻,有没有被标题吸引进来? 当然这里小编所说的"风景",肯定不是名副其实的风景画,而是所讲在Java中如何更好的去编写代码,从而给代码读者放佛在看一副风景画的感觉. ...

  5. javaBean:java语言写成的可重用的组件。

    所谓javaBean,是指符合如下标准的java类: 类是公共的;(public class 类名) 有一个无参的公共的构造器;(public 类名()) 有属性,且有对应的get.set方法(封装性 ...

  6. Java正则匹配美元表达式_Java中的正则表达式“ $”(美元)元字符

    子表达式/元字符" $ "与行尾匹配. 例子1import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...

  7. java 时间 转化成数字_java时间转化数字

    1 写出下面代码输出内容. package main import (    "fmt" ) funcmain() {     defer_call() } funcdefer_c ...

  8. java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

    java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...

  9. java 如何转化成机器指令_Java代码到底是如何编译成机器指令的

    白衣染霜花 编译器把一种语言规范转化为另一种语言规范的这个过程需要哪些步骤?回答这个问题需要参照<编译原理>,总结过程如下:        1)词法分析:读取源代码,一个字节一个字节的读进 ...

最新文章

  1. 你值得拥有!更省钱地完成数据监听
  2. 并行处理的类型与CPU/GPU架构
  3. 【git学习四】git基础之git为项目打标签
  4. linux命令行总结
  5. es集群搭建_滴滴Elasticsearch 集群跨版本升级与平台重构之路
  6. 兄弟连 企业shell笔试题 16-31
  7. python概率论_概率论中常见分布总结以及python的scipy库使用
  8. centos7如何安装samba-client_Docker: 教程07 - ( 如何对 Docker 进行降级和升级)
  9. 使用docker+tomcat部署jenkins
  10. 马尾物联网企业主导或参与制定修订各级标准达60项
  11. 郑义宣就任韩国现代汽车集团会长;爱立信携手中国电信运用爱立信频谱共享技术 | 美通企业日报...
  12. 怎样重装计算机系统软件,电脑重装系统软件怎么样保留
  13. 大厂如何开发和部署前端代码?淘宝8年案例解读
  14. 基于Pyramid Vision Transformer(PVT-v2)实现奥特曼识别
  15. R语言画个中国地图使用shp文件
  16. MyOwnFreeHost免费分销空间定制模板管理用户WHMCS整合和空间运营
  17. 菜鸟学JAVA之——static静态代码块
  18. JavaSE06-集合
  19. 【推荐】Java自学网站HOW2J.CN 手把手带你做实践项目
  20. 3个月工作经历能不能写在简历上呢

热门文章

  1. 2019字节跳动秋招笔试
  2. 前端如何做极致的首屏渲染速度优化
  3. 无人驾驶出租车遭警察拦截后欲“潜逃”,AI 是原罪?
  4. Unity Shader 2D水流效果
  5. C# Socket初探
  6. Rejection sampling - 直观解释
  7. [SCM]源码管理 - perforce快速入门
  8. [导入]Ajax初试
  9. 个人博客网站 Welcome All
  10. 7-2 哈夫曼编码 (30 分)