`
libo19881179
  • 浏览: 266635 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【so easy~】正则表达式常用匹配

阅读更多

最近在Android开发,有用到j2ee常用到的正则,这里总结下Android下的用法(一位朋友的博文+自己的一点东西):

原例子:  
    //匹配原则 以Java开头的任意字符结尾的字符串
    Pattern pattern = Pattern.compile("^Java.*");
    Matcher matcher = pattern.matcher("Java不是人");
    //判断匹配
    boolean b= matcher.matches();
  
   结果b = true
 
自己的例子 (识别.jpg图片连接):

Pattern p = Pattern.compile("^http://.*jpg$",
Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(url);
if (m.find())
String url = m.group();


常用正则总结:
java中使用,需要注意对“\”的转义!

    1 。 ^ \d + $   // 匹配非负整数(正整数 + 0)  
      2 。 ^ [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $   // 匹配正整数  
      3 。 ^ (( - \d + ) | ( 0 + ))$   // 匹配非正整数(负整数 + 0)  
      4 。 ^- [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $   // 匹配负整数    
    5 。 ^-? \d + $     // 匹配整数    
    6 。 ^ \d + (\.\d + ) ? $   // 匹配非负浮点数(正浮点数 + 0)  
      7 。 ^ (([ 0 - 9 ] + \.[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * \.[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ))$   // 匹配正浮点数  
      8 。 ^ (( - \d + (\.\d + ) ? ) | ( 0 + (\. 0 + ) ? ))$   // 匹配非正浮点数(负浮点数 + 0)  
      9 。 ^ ( - (([ 0 - 9 ] + \.[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * \.[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * )))$   // 匹配负浮点数    
    10 。 ^ ( -? \d + )(\.\d + ) ? $   // 匹配浮点数    
    11 。 ^ [A - Za - z] + $   // 匹配由26个英文字母组成的字符串    
    12 。 ^ [A - Z] + $   // 匹配由26个英文字母的大写组成的字符串  
      1 3 。 ^ [a - z] + $   // 匹配由26个英文字母的小写组成的字符串    
    14 。 ^ [A - Za - z0 - 9 ] + $   // 匹配由数字和26个英文字母组成的字符串  
      15 。 ^ \w + $   // 匹配由数字、26个英文字母或者下划线组成的字符串    
    16 。 ^ [\w - ] + (\.[\w - ] + ) * @[\w - ] + (\.[\w - ] + ) + $     // 匹配email地址  
      17 。 ^ [a - zA - z] + : // 匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$   // 匹配url    
    18 。匹配中文字符的正则表达式: [\u4e00 - \u9fa5]  
    19 。匹配双字节字符(包括汉字在内):[ ^ \x00 - \xff] 
    20 。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len = function(){ return   this .replace([ ^ \x00 - \xff] / g, " aa " ).length;}  
    21 。匹配空行的正则表达式:\n[\s |  ] * \r  
    22 。匹配HTML标记的正则表达式: /< (. * ) > . *< \ / \ 1 >|< (. * ) \ />/   
    23 。匹配首尾空格的正则表达式:( ^ \s * ) | (\s * $) *   
    
    正则表达式用例   
    * 1 、 ^ \S + [a - z A - Z]$ 不能为空 不能有空格  只能是英文字母 
     *   2 、\S{ 6 ,}         不能为空 六位以上   
    *   3 、 ^ \d + $          不能有空格 不能非数字 
     *   4 、(. * )(\.jpg | \.bmp)$ 只能是jpg和bmp格式 
     *   5 、 ^ \d{ 4 }\ - \d{ 1 , 2 } - \d{ 1 , 2 }$ 只能是2004 - 10 - 22格式   
    *   6 、 ^ 0 $            至少选一项   
    *   7 、 ^ 0 { 2 ,}$        至少选两项   
    *   8 、 ^ [\s | \S]{ 20 ,}$ 不能为空 二十字以上 
     *   9 、 ^ \ +? [a - z0 - 9 ](([ -+ .] | [_] + ) ? [a - z0 - 9 ] + ) * @([a - z0 - 9 ] + (\. | \ - )) + [a - z]{ 2 , 6 }$邮件   
    *   10 、\w + ([ -+ .]\w + ) * @\w + ([ - .]\w + ) * \.\w + ([ - .]\w + ) * ([,;]\s * \w + ([ -+ .]\w + ) * @\w + ([ - .]\w + ) * \.\w + ([ - .]\w + ) * ) *  输入多个地址用逗号或空格分隔邮件   
    *   11 、 ^ (\([ 0 - 9 ] + \)) ? [ 0 - 9 ]{ 7 , 8 }$电话号码7位或8位或前面有区号例如( 022 ) 87341628    
    *   12 、 ^ [a - z A - Z  0 - 9  _] + @[a - z A - Z  0 - 9  _] + (\.[a - z A - Z  0 - 9  _] + ) + (\,[a - z A - Z  0 - 9  _] + @[a - z A - Z  0 - 9  _] + (\.[a - z A - Z  0 - 9  _] + ) + ) * $   *      只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件   
   


附件里放了正则测试器,方便大家使用 

http://androiddada.iteye.com/

 

7
2
分享到:
评论
3 楼 chenowei 2012-01-08  
以前不知道怎么匹配中文。。。。3q了
2 楼 trial989 2012-01-06  
字体颜色不方便阅读啊 改改吧
1 楼 William_Sim 2012-01-06  
Why I'm so handsome

相关推荐

    正则表达式PySwiftyRegex.zip

    PySwiftyRegex 是 Swift 的像 Python 的 re 模块一样简洁高效的正则表达式封装,面向 iOS/OSX,支持 Cocoapods。 示例代码: import PySwiftyRegexif let m = re.search("[Tt]his is (.*?)easy", "I ...

    正则表达式测试工具

    在用easy_validate(兼容性比较好) 进行表单验证的时候需要正则表达式,然后自己写了丢这工具里面进行测试 ,他会告诉你哪些符合你的正则表达式, 非常好用。花了一点点时间久搞定了

    Python培训基础教程-正则表达式2.pptx

    一、将python源程序打包,其他人可以通过easy-install或者install命令进行安装。我们首先编写一个简单的python模块foo.py,源码如下: class MyClass: def __init__(self): self.blog = "http://www.baidu.com" ...

    C# 和.net 的帮助类,傻瓜式使用,so easy~

    C# 和.net 的帮助类,傻瓜式使用,so easy~

    regexpr 正则表达式类

    Easy to use and powerfull tool for sophisticated search and substitutioning and for template-based text checking (especially usefull for user input validation in DBMS and web projects). ...

    easy-expressions:适用于Python的简单正则表达式

    易表达 世界上最大的黑帮正则表达式库。 变成这个了.. regex = re . compile ( r'(?:(?:\$){1,1})(?:(?:(?:\d)){1,})(?:(?:\.){1,1})(?... from easy_expressions import... easy-expressions无需记住复杂的正则表达式语法

    objective-c中正则表达式

    oc中正则表达式的使用,主要涉及了特殊符号转义字符的处理。 ([ ] \ )三个特殊符号的处理。 验证了邮箱、手机、昵称、密码。

    正则表达式入门

    Its goal is to make learning regular expressions as easy as possible. In fact, this book demonstrates nearly every concept it presents by way of example so you can easily imitate and try them ...

    Office资源宝库SoEasy办公效率平台 v4.0.11.5.exe

    SoEasy办公效率平台是一款办公人员必备工具。提供最易用、最集中、最专业OFFICE资源。   SoEasy办公效率平台功能: 1、包含Office中多个组件海量培训视频(Word,Excel,PowerPoint,Outlook等)。 2、文档及PPT...

    soeasy软件

    SoEasy办公效率平台,为提供办公人员办公必备工具,是全国最全面、最专业、最实用的办公辅助工具,专为提升办公能力,及办公效率的学习平台,由数名微软金牌讲师、资深顾问等组成的专家团队,以快速提升个人工作效率...

    温度报警器SOEASY2010说明书

    温度报警器SOEASY2010说明书

    leetcode跳跃-LeetCodeRecord:LeetCode刷题仓库

    [正则表达式匹配] Hard Medium 双指针 Easy Easy Medium Medium Medium Medium 双指针 Medium 全排列 Medium 快慢指针 Easy 栈 Easy Medium 动态规划 Hard Easy Easy Medium Medium Medium Easy Hard Hard Hard ...

    物联网So Easy 基于Blynk平台的IOT项目实践 配套资源

    物联网So Easy 基于Blynk平台的IOT项目实践 配套资源 本书是经典的、畅销的Spring学习和实践指南。第5版针对Spring 5进行了全面更新。第5版涵盖了Spring 5.0和Spring Boot 2.0里程碑式的更新。 全书分为5个部分,...

    Eclipse常用插件下载网址

    Eclipse常用插件有: 0.lomboz J2EE插件,开发JSP,EJB ...8.RegEx Test 测试正则表达式 9.JasperAssistant 报表插件(强,要钱的) 10.Jigloo GUI Builder JAVA的GUI编辑插件

    Office资源宝库-SoEasy办公效率平台

    Office资源宝库-SoEasy办公效率平台,是一款实用的办公辅助软件,辅助办公人员更好的应用ppt、excel、word等办公软件。软件提供视频教程、模板、图片、vba开发的小工具、各种文档资源、在线求助等功能。免费下载。

    VBA常用技巧

    方便学习与应用VBA工具基本技能,非常简单易学,So easy~~

    物联网,So Easy!.pdf-综合文档

    物联网,So Easy!.pdf

    SoEasy资源管理器

    【纯绿色 免安装 完全免费 功能丰富】 1、特有的双视图浏览模式,浏览文件更加方便快捷,视图间文件夹与文件可以互相传送; 2、支持一般的文件操作,如搜索、复制、移动、改名、删除、新建文件夹等功能应有尽有;...

    easy_lib:使开发更快的 C 库集合!

    简单的正则表达式:Unix 正则表达式库的封装 简单清单 将包括: 简单的数组 简单的字符串 简单的树 简易插座 简单的诅咒 简单的线程(耶!!) 简易地图 简单的 SDL 甚至可能包括一些新的数据结构,比如哈希表、...

    SoEasy办公效率平台

    办公 好 助手 ,

Global site tag (gtag.js) - Google Analytics