新发现:原来java正则表达式不写^和$也可以运行
2013-08-01 18:51
330 查看
最近用了好多正则表达式,都是循规蹈矩的在前面加上^在后面加上$
像这个样子"^[.]\\S+$",但实际上我在eclipse和editplus下都试了一下,不加前缀和后缀也是可以的。
代码如下
运行结果是true。
这样写的话,运行也是true
所以,在以上这种情况下,不加[ ]和()是没有任何问题的。当然,加上也是没有问题的。。
至于为啥都要加两个反斜线\\,首先,\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
单纯的\w,java是识别不出这个转义的,反斜线\本身需要再转义一下,这样java就能识别出这个转义序列了。
所以,在java中必须要写成\\w,\\s等。
像这个样子"^[.]\\S+$",但实际上我在eclipse和editplus下都试了一下,不加前缀和后缀也是可以的。
代码如下
import java.util.*; import java.util.regex.Pattern; import java.util.regex.Matcher; class Test1 { public static void main(String[] args) { String str="asdf dsgsdf"; String regx="[\\w]+[\\s]+[\\w]+"; Pattern pat=Pattern.compile(regx); Matcher mat=pat.matcher(str); boolean bool=mat.matches(); //String end=mat.replaceAll(""); System.out.println(bool); } }
运行结果是true。
这样写的话,运行也是true
class Test1 { public static void main(String[] args) { String str="asdf dsgsdf"; String regx="\\w+\\s+\\w+"; Pattern pat=Pattern.compile(regx); Matcher mat=pat.matcher(str); boolean bool=mat.matches(); //String end=mat.replaceAll(""); System.out.println(bool); } }
所以,在以上这种情况下,不加[ ]和()是没有任何问题的。当然,加上也是没有问题的。。
至于为啥都要加两个反斜线\\,首先,\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
单纯的\w,java是识别不出这个转义的,反斜线\本身需要再转义一下,这样java就能识别出这个转义序列了。
所以,在java中必须要写成\\w,\\s等。
相关文章推荐
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- 发现scanf竟然可以用正则表达式,哈哈
- 原来sscanf还可以和正则表达式结合起来
- java中正则表达式用Pattern计算字符串的结果(四则运算);分成有括号和没括号;当然也可以采用逆波兰式
- java--正则表达式的应用:获取文字其中的电话号码,并且可以点击跳转
- 如何中断一个长时间运行的”无限”Java正则表达式
- java中提供了对正则表达式的支持。 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码。 注意:只填写缺少代码,不要
- java版的webservice,完全用java的正则表达式对websercice的xml进行解析,可以很快用到web中,只需要调用其中的封装好的方法
- java正则表达式不写^和$,表示匹配目标串的部分(包括本身)
- Java常用正则表达式-asp.net关注
- java 正则表达式的应用(取出sql中 的占位符)
- java正则表达式的应用 java读取文件并获取电话号码
- 【LeetCode-面试算法经典-Java实现】【010-Regular Expresssion Matching(正则表达式匹配)】
- 正则表达式JAVA254-262
- java正则表达式_正整数或小数且小数位数不超过n位
- Java 正则表达式
- Java基础-----正则表达式
- Java正则表达式—小应用—简易爬虫
- 使用java正则表达式去掉多余的.与0
- Java正则表达式 预搜索(零宽断言)详解(精)