专栏首页androidBlogjava 正则表达式浅析

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 条评论
登录 后参与评论

相关文章

  • AsyncTask源码分析

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

    用户2965908
  • 快速排序的相关算法题(java)

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

    用户2965908
  • 面试官,怎样实现 Router 框架?

    Android 开发中,组件化,模块化是一个老生常谈的问题。随着项目复杂性的增长,模块化是一个必然的趋势。除非你能忍受改一下代码,就需要六七分钟的漫长时间。

    用户2965908
  • java正则表达式详解

    正则表达式用于指定字符串的模式,你可以任何需要定位使用匹配某种特定模式的字符串的情况下使用正则表达式 jdk1.4推出java.util.regex包,就为我们...

    张俊怡
  • Java之字符流读写文件、文件的拷贝

    爱学习的孙小白
  • 4.3 字符数据的输入输出

    putchar是put character(给字符)的缩写,其作用是输出字符变量c的值,显然它是一个字符。

    C语言入门到精通
  • Kotlin实战【三】表示与选择

    你会发现kotlin中使用enum同时还要使用class这与java中不同,思考下这是为什么?

    先知先觉
  • ChatOps实践-GitLab项目通知与协作实现

    实施ChatOps是一种现代工作方式,它将人员,工具和讨论结合在一起,以提高生产力并帮助企业更快地发展。在ChatOps上运行的组织将自动监视和系统解析与人工监...

    泽阳
  • nginx反向代理问题处理记录

    老七Linux
  • 前端-js截取字符串

    今天我要跟大家分享的是js截取字符串。遇到这样的问题,大家可能选择直接百度,但是百度到的方法,有些却不尽你意,小编也是遇坑之后,想想还是自力更生吧,现在整理出来...

    grain先森

扫码关注云+社区

领取腾讯云代金券