`
libo19881179
  • 浏览: 269818 次
  • 性别: 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

相关推荐

    正则表达式-随心查找随心所用

    正则表达式是一种强大的文本处理工具,用于模式匹配和替换。它在各种编程语言和操作系统中广泛应用,如UNIX系统下的Vi编辑器、Perl、PHP、awk、sed,以及JavaScript等客户端脚本语言。正则表达式的核心在于构建匹配...

    jsp正则表达式使用详解

    * /eg*/ 因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”,或者 “egg”等在字母 e 后面连续出现零个或多个字母 g 的字符串相匹配。 * /Wil?/ 因为上述正则表达式中包含“?”元...

    RegExp正则表达式

    - `flags`:可选标志,用于控制正则表达式的匹配行为,如全局匹配(g)、忽略大小写(i)等。 #### 四、正则表达式的元字符 元字符是正则表达式中具有特殊含义的字符,用于定义匹配模式的细节。 1. **重复元字符*...

    正则表达式测试工具

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、数据提取等多个领域。在IT行业中,熟练掌握正则表达式是提高工作效率的关键技能之一。本篇文章将深入探讨...

    PHP正则表达式快速学习及PHP常用正则表达式大全.pdf

    正则表达式是一种模式匹配工具,可以用来验证输入数据的格式,如电子邮件地址、电话号码等。它们由一系列特殊字符和普通字符组成,用于定义要查找的模式。在PHP中,正则表达式通常使用`/pattern/`的形式表示,其中`...

    javascript正则表达式使用详解

    JavaScript中的正则表达式是一种强大的文本处理工具,用于模式匹配和替换。它们广泛应用于各种编程环境,包括客户端的JavaScript脚本。正则表达式的基本概念是构建特定的模式,然后与文本进行比较,以确定文本是否...

    半小时精通正则表达式.

    正则表达式是一种强大的文本处理工具,它允许用户通过特定的模式来匹配和处理文本。这种技术广泛应用于编程语言、文本编辑器和网页开发,如PHP、JavaScript、Perl等。正则表达式的核心在于构建模式,并通过这个模式...

    正则表达式PySwiftyRegex.zip

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

    JavaScript正则表达式使用详解

    例如,正则表达式 `/fo+/` 将匹配 "fool"、"fo" 或 "football",因为 `+` 表示 "f" 后面至少有一个 "o"。而 `/eg*/` 可以匹配 "easy"、"ego" 或 "egg",`*` 允许 "g" 出现零次或多次。`/Wil?/` 可以匹配 "Will" 或 ...

    正则表达式初学者用,仅供参考

    正则表达式是一种强大的文本处理工具,用于模式匹配和替换。它是编程语言中广泛采用的一种概念,不受特定语言或系统的限制。在Unix系统环境中,正则表达式尤其受到喜爱,尽管它也可能带来一定的学习难度。 正则...

    正则表达式使用详解 (js).doc

    正则表达式是一种在编程语言中广泛使用的工具,主要用于字符串的模式匹配和替换。在JavaScript中,正则表达式尤其重要,因为它可以帮助开发者验证输入数据的有效性,替换文本,以及从字符串中提取特定信息。 首先,...

    javascript 正则表达式使用详解

    JavaScript中的正则表达式是一种强大的文本处理工具,用于模式匹配、替换、提取子字符串等功能。在JavaScript中,正则表达式通常用斜杠 `/` 定义,如 `/love/`,中间的部分是你要匹配的模式。正则表达式的核心在于它...

    PHP正则表达式

    - 正则表达式是一种模式匹配工具,可以用来验证输入数据的格式,如检查电子邮件地址的有效性。 - 它通过特定的模式(由元字符和普通字符组成)来定义要匹配的字符串特征。 - 在PHP中,正则表达式通常用斜杠`/`...

    正则表达式入门,初学者

    正则表达式(Regular Expression),简称regex或regexp,是一种强大的文本模式匹配工具,广泛应用于各种编程语言和系统中,如UNIX系统、Linux、Windows等,以及各种脚本语言如Perl、PHP、Python、JavaScript等。...

    文本处理工具和正则表达式

    正则表达式是一种用于匹配字符串中特定模式的强大工具,在文本处理中应用广泛。 - **元字符**:包括`.`(匹配任何单个字符)、`*`(匹配零次或多次前面的元素)、`?`(匹配零次或一次前面的元素)、`+`(匹配一次或...

    JavaScript正则表达式

    正则表达式(Regular Expression),简称“regex”或“regexp”,是一种强大的模式匹配工具,在编程领域中被广泛应用于字符串搜索、替换以及提取等功能。它允许用户通过定义一组规则来识别文本中的特定模式,从而...

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

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

    正则表达式javascript

    掌握正则表达式的基本语法和常用元字符是编程中一项非常实用的技能,尤其是在处理字符串操作时。理解这些知识点后,你可以编写出更复杂、更精确的正则表达式来解决实际问题。随着经验的积累,你还可以探索更多的高级...

    javascript正则表达式

    正则表达式是一种强大的工具,广泛应用于模式匹配和替换操作中。在JavaScript中,正则表达式不仅被用于验证数据的有效性,还能用于文本的替换及从字符串中提取特定子字符串。 #### 二、正则表达式的功能 - **数据...

Global site tag (gtag.js) - Google Analytics