`
wangangie21
  • 浏览: 61603 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

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$/
分享到:
评论

相关推荐

    常用java正则表达式

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...

    正则表达式经典实例

    对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。...

    java正则表达式.docx

    java正则表达式.docx 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符...

    《学习正则表达式》高清扫描版 PDF

    正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....

    邮箱校验正则表达式

    邮箱校验正则表达式,及其jsp编写过程,JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现。

    Java正则表达式规则(技术文档)

    java正则表达式规则,包含java正则表达式基本知识、JavaScript RegExp对象参考手册、支持正则表达式的 String 对象的方法、定义正则表达式等内容。文档中有表达式的学习视频下载,配合文档会有不错的效果!

    Java正则表达式详解

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...

    《正则表达式经典实例》扫描版

    即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...

    JavaScript&正则表达式

    JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&...

    正则表达式完整高清版

    《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...

    正则表达式经典实例.pdf

    对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。  本书的读者对象是对...

    javaScript 正则表达式详解

    正则表达式的定义 一个RegExp对象的每一次估值都返回新对象,这意味着RegExp是可变对象。

    java \javascript 正则表达式

    快速的掌握简单的java、JavaScript正则表达式,

    java 正则表达式

    JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...

Global site tag (gtag.js) - Google Analytics