java 正则表达式浅析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/50153633

参考地址:http://blog.csdn.net/kdnuggets/article/details/2526588

1:基础知识 a:\ 反斜杠 \t 间隔 (‘/u0009’) \n 换行 (‘/u000A’) \r 回车 (‘/u000D’) \d 数字 等价于[0-9] \D 非数字 等价于[^0-9] \s 空白符号 [/t\n\x0B\f\r] \S 非空白符号 [^/t\n\x0B\f\r] \w 单独字符 [a-zA-Z_0-9] \W 非单独字符 [^a-zA-Z_0-9] \f 换页符 \e Escape \b 一个单词的边界 \B 一个非单词的边界 \G 前一个匹配的结束 在实际中使用\w必须这样写 String reg=”\w”; 其它的也类似,因为在java中 反斜杠必须用“\ ”表示。 注意若想匹配.必须使用“\.”,类似的请自行百度

b: ^为限制开头 ^java 条件限制为以Java为开头字符 为限制结尾java为限制结尾 java 条件限制为以java为结尾字符 . 条件限制除/n以外任意一个单独字符 java.. 条件限制为java后除换行外任意两个字符

加入特定限制条件「[]」 [a-z] 条件限制在小写a to z范围中一个字符 [A-Z] 条件限制在大写A to Z范围中一个字符 [a-zA-Z] 条件限制在小写a to z或大写A to Z范围中一个字符 [0-9] 条件限制在小写0 to 9范围中一个字符 [0-9a-z] 条件限制在小写0 to 9或a to z范围中一个字符 [0-9[a-z]] 条件限制在小写0 to 9或a to z范围中一个字符(交集)

[]中加入^后加再次限制条件「[^]」 [^a-z] 条件限制在非小写a to z范围中一个字符 [^A-Z] 条件限制在非大写A to Z范围中一个字符 [^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符 [^0-9] 条件限制在非小写0 to 9范围中一个字符 [^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符 [^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)

在限制条件为特定字符出现0次以上时,可以使用「*」 J* 0个以上J .* 0个以上任意字符 J.*D J与D之间0个以上任意字符

在限制条件为特定字符出现1次以上时,可以使用「+」 J+ 1个以上J .+ 1个以上任意字符 J.+D J与D之间1个以上任意字符

在限制条件为特定字符出现有0或1次以上时,可以使用「?」 JA? J或者JA出现

限制为连续出现指定次数字符「{a}」 J{2} JJ J{3} JJJ 文字a个以上,并且「{a,}」 J{3,} JJJ,JJJJ,JJJJJ,???(3次以上J并存) 文字个以上,b个以下「{a,b}」 J{3,5} JJJ或JJJJ或JJJJJ 两者取一「|」 J|A J或A Java|Hello Java或Hello

2:一些实例 抛开空泛的概念,下面写出几个简单的Java正则用例:

◆比如,在字符串包含验证时

//查找以Java开头,任意结尾的字符串 Pattern pattern = Pattern.compile(“^Java.*”); Matcher matcher = pattern.matcher(“Java不是人”); boolean b= matcher.matches(); //当条件满足时,将返回true,否则返回false System.out.println(b);

◆以多条件分割字符串时 Pattern pattern = Pattern.compile(“[, |]+”); String[] strs = pattern.split(“Java Hello World Java,Hello,,World|Sun”); for (int i=0;i

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【C语言系列】C语言数组

一、数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。 二、数组的定义 格式...

40160
来自专栏Youngxj

一维数组和循环-c语言学习笔记

21540
来自专栏WD学习记录

python 浅拷贝 深拷贝

2、b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。

12720
来自专栏Python小屋

Python中表达式int('0x10, 36)的值是。。。

在Python中,int()可用来把实数转换为整数,或者把数字字符串按指定进制转换为十进制数,详见文末的相关阅读。 然而,下面的代码又应该如何解释呢? >>> ...

30860
来自专栏章鱼的慢慢技术路

多维数组的传递

16440
来自专栏猿人谷

static_cast ,reinterpret_cast

用法:static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查...

237100
来自专栏杂七杂八

python中sort与sorted

sort与sorted是python中的排序函数。它们的最大区别在于sort是定义在list中的,对list起作用。而sorted则可以排序所有的可迭代对象 ...

28380
来自专栏天天

数据类型的转换

12330
来自专栏Java帮帮-微信公众号-技术文章全总结

【选择题】Java基础测试二(15道)

【选择题】Java基础测试二(15道) 11.对于构造方法,下列叙述正确的是:(AC) A. 构造方法的方法名必须与类名相同; B. 构造方法必须用void...

430100
来自专栏desperate633

LintCode 最小差题目代码

给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组 A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i]...

11420

扫码关注云+社区

领取腾讯云代金券