[深坑]关于groovy正则表达式中的限位符 `^` 和 `$`
来源:互联网 发布:七哥张琪格淘宝地址 编辑:程序博客网 时间:2024/04/28 00:23
问题提出
最近在工作中需要自己写正则表达式,而且是用 groovy,本以为 groovy 是沿用了 java.util.regex 包,只要 java 中运行没问题就可以,结果问题就出现了。
java 中程序如下:
import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Created by syp on 17/4/26. */public class zhengze { public static void main(String[] args){// Pattern pattern = Pattern.compile("\\w+");// Matcher matcher = pattern.matcher("asdasd");// System.out.println(matcher.find()); System.out.print("1+2".replaceAll("^[\\d\\+]+$","sss")); }}
运行出来结果没问题。
换成 groovy 中的程序如下:
System.out.print("1+2".replaceAll("^[\\d\\+]+$","sss"));
报错信息如下:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:/usercode/file.g: 2: illegal string body character after dollar sign; solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}" @ line 2, column 34. System.out.print("1+2".replaceAll("^[\\d\\+]+$","sss")); ^1 error
解决方法
将正则表达式中的$
换成\$
,程序如下:
System.out.print("1+2".replaceAll("^[\\d\\+]+\$","sss"));
疑问
为啥教程上都是说^
和$
,而实际中对$
需要转义呢?而对^
不需要?
求大神解答。
0 0
- [深坑]关于groovy正则表达式中的限位符 `^` 和 `$`
- 关于java中的\和正则表达式中的\
- Groovy正则表达式
- Groovy正则表达式
- groovy : 正则表达式
- groovy 正则表达式
- Groovy 正则表达式
- groovy之正则表达式
- Groovy脚本-正则表达式
- Groovy正则表达式使用
- groovy入门 第03章 字符串和正则表达式
- 正则表达式中的?和?:
- Groovy Tip 35 正则表达式
- [150827]Groovy 之正则表达式
- 关于C#中的正则表达式
- 关于正则表达式中的"或"
- 关于正则表达式中的lookahead
- 关于正则表达式中的(?=re)的理解和例子
- 回文数——Java实现
- 洛谷 1547_Out of Hay_最小生成树
- java数组
- 图像形状特征(五)--自由式变形模板
- 创建一个 Django App 的基本流程
- [深坑]关于groovy正则表达式中的限位符 `^` 和 `$`
- Oracle DB 运行状态检查
- composer使用及安装
- Linux——VIM开发C++自动补全(STL、括号)和开发环境配置
- 【C#基础知识点】——异常捕获
- 合并两条有序链表
- JAVA设计模式之工厂模式之简单工厂模式
- ActionBar、Menu笔记
- html简单的选项卡