`
hgfghe8
  • 浏览: 48937 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA正则表达式4种常用功能

 
阅读更多

  正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 
  下面简单的说下它的4种常用功能:
  查询:
  以下是代码片段:
  String str="abc efg ABC"; 
  String regEx="a|f"; //表示a或f 
  Pattern p=Pattern.compile(regEx); 
  Matcher m=p.matcher(str); 
  boolean rs=m.find(); 
  如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
  提取:
  以下是代码片段:
  String regEx=".+\(.+)$"; 
  String str="c:\dir1\dir2\name.txt"; 
  Pattern p=Pattern.compile(regEx); 
  Matcher m=p.matcher(str); 
  boolean rs=m.find(); 
  for(int i=1;i正则表达式: \[\u4e00-\u9fa5\]
  匹配双字节字符(包括汉字在内):\[^\x00-\xff\]
  匹配空行的正则表达式:\n\[\s\| \]*\r
  匹配HTML标记的正则表达式:/.*\|/
  匹配首尾空格的正则表达式:(^\s*)\|(\s*$)
  匹配Email地址的正则表达式:\w+(\[-+.\]\w+)*@\w+(\[-.\]\w+)*\.\w+(\[-.\]\w+)\*
  匹配网址URL的正则表达式:^\[a-zA-z\]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^\[a-zA-Z\]\[a-zA-Z0-9_\]{4,15}$
  匹配国内电话号码:(\d{3}-\|\d{4}-)?(\d{8}\|\d{7})?
  匹配腾讯QQ号:^\[1-9\]*\[1-9\]\[0-9\]*$
  ---------------------------
  正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
  匹配中文字符的正则表达式: [\u4e00-\u9fa5]
  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
  匹配双字节字符(包括汉字在内):[^\x00-\xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  匹配空白行的正则表达式:\n\s*\r
  评注:可以用来删除空白行
  匹配HTML标记的正则表达式:]*>.*?|
  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
  匹配首尾空白字符的正则表达式:^\s*|\s*$
  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
  匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  评注:表单验证时很实用
  匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
  评注:网上流传的版本功能很有限,上面这个基本可以满足需求
  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  评注:表单验证时很实用
  匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
  评注:匹配形式如 0511-4405222 或 021-87888822
  匹配腾讯QQ号:[1-9][0-9]{4,}
  评注:腾讯QQ号从10000开始
  匹配中国邮政编码:[1-9]\d{5}(?!\d)
  评注:中国邮政编码为6位数字
  匹配身份证:\d{15}|\d{18}
  评注:中国的身份证为15位或18位
  匹配ip地址:\d+\.\d+\.\d+\.\d+
  评注:提取ip地址时有用
  匹配特定数字:
  ^[1-9]\d*$ //匹配正整数
  ^-[1-9]\d*$ //匹配负整数
  ^-?[1-9]\d*$ //匹配整数
  ^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
  ^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
  ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
  ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
  ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
  评注:处理大量数据时有用,具体应用时注意修正
  匹配特定字符串:
  ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
  ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
  ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
  ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
  ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
  from:http://blog.csdn.net/lu7kang/archive/2008/12/11/34 96696.aspx
分享到:
评论

相关推荐

    常用java正则表达式

    许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理...

    JAVA 正则表达式4种常用的功能.txt

    JAVA 正则表达式4种常用的功能.txt JAVA 正则表达式4种常用的功能.txt JAVA 正则表达式4种常用的功能.txt

    java中的正则表达式

    JAVA正则表达式4种常用功能 正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 文章主要介绍Java中常用正则表达式的写法

    java最常用的正则表达式

    java正则表达式 。其中包括一些常用到的功能。 java正则表达式 。其中包括一些常用到的功能。

    正则表达式完整高清版

    全书分为三大部分:第一部分主要讲解正则表达式的基础知识,涵盖了常见正则表达式中的各种功能和结构;第二部分主要讲解关于正则表达式的更深入的知识,详细探讨了编码问题、匹配原理、解题思路;第三部分将之前介绍...

    所有常用的正则表达式

    配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII...

    正则表达式经典实例.pdf

    本书讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误...

    Java 正则表达式详解

    正则表达式30分钟入门教程 常用正则表达式 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?...

    精通正则表达式~~~

    精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...

    java script 正则表达式验证大全

    正则表达式验证 java script 验证大全 部分: 下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。 匹配中文字符的正则表达式: [u4...

    正则表达式经典实例中文版 (美)高瓦特斯

    《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...

    正则表达式经典实例

    他的产品中包括RegexBuddy,世界上唯一可以模拟l5种正则表达式流派特性的正则表达式编辑器,以及PowerGREP,Microsoft Windows平台上功能最强大的9rep工具。 目录: 第1章 正则表达式简介 1.1 正则表达式的定义 ...

    正则表达式

    对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a...

    正则表达式30分钟入门教程

    如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|...

    javascript正则表达式和字符串RegExp and String(一)

    正则表达式是javascript非常重要和常用的功能,在jquery等大型框架中用的非常频繁,最近抽时间学习了解了相关知识,记录下来与需要的朋友分享。 思维导图 RegExp(正则表达式)的创建方式 可以通过两种方式创建一个...

    Notepad文本编辑器

    - 支持基础的正则表达式搜索与替换 - 支持单词、行与块编辑操作 - 支持选择矩形区域 (Alt+鼠标) - 支持括号匹配、自动缩进、行标记、缩放等 - 支持 Unicode、UTF-8、Unix 与 Mac 文本文件 - 支持打开外壳链接 ...

Global site tag (gtag.js) - Google Analytics