java正则表达式学习总结,以及和javascript正则表达式的区别

  用正则表达式处理字符串功能非常强大,下面总结一下java正则表达式的一些知识:
  基本元字符
  \\ 反斜杠
  \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 前一个匹配的结束
  ^为限制开头
  $为限制结尾
  加入特定限制条件[]
  [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范围中一个字符(交集)
  表示匹配次数的符号
  
  {n,}:至少n次
  "或"符号
  可以使用"|"操作符。"|"操作符的基本意义就是"或"运算。要匹配"toon",使用"t(a|e|i|o|oo)n"正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号"()"。圆括号还可以用来分组。
  捕获组
  >捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组: 以 (?) 开头的组是纯的非捕获 组,它不捕获文本,也不针对组合计进行计数。 匹配模式
  java正则表达式默认使用的是最长匹配模式,即:如果用ro*去匹配room,并将其替换为r,则结果为rm。
  如果某些情况下想使用最短匹配,即:如果用ro?去匹配room,并将其替换为b,则结果为boom。
  总结:默认使用最长匹配,但是结尾为"?"的模式使用的是最短匹配。
  基本用法
  Pattern pattern = Pattern.compile(正则表达式模式串);
  Matcher matcher = pattern.matcher(要验证或处理的源字符串);
  matcher.matches();如果匹配返回true,否则,false.
  javascript正则表达式和java正则表达式的区别
  javascript中的正则表达式和java的正则表达式基本上是相同的,区别在于分组引用和对象,方法
  具体区别:
  1).javascript正则表达式创建有两种方法:
  a.显式创建:
  var re = new RegExp("正则表达式模式串");
  re.test(要校验或处理的源字符串);
  b.隐式创建:
  var re = /正则表达式模式串/;
  要校验或处理的源字符串.match(re);
  2).分组捕获对象引用方式不同
  javascript也是使用"()"进行分组,但是捕获对象用RegExp对象的$1到$99来引用捕获对象。
  附录:常用的javascript正则表达式,java的也类似
  ip地址校验正则表达式(IPv4):
  /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\ d|2[0-4]\d|25[0-5])){3}$/
  Email校验正则表达式:
  /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+ $/
  格式为:2010-10-08类型的日期格式校验正则表达式:
  /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$ /
  格式为:23:11:34类型的时间格式校验正则表达式:
  /^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值