`
IsItLikeThat
  • 浏览: 42164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

   正则表达式对象语法参数有以下部分:    
      _________________________________________________________________ 
 
  参数部分            |     描述    
  -------------------------------------------------------------------  
  pattern            |   必需的。要使用的正则表达式模式,例如使用替换方法replace  
                          |   时,就是要替换的文本。
                          |  语法   1,用   "/"   字符分隔模式。   
                          |   语法      2,用引号将模式引起来。    
  -------------------------------------------------------------------  
  switch            |   可选项。语法  2   要用引号将   switch   引起来。可选的开  
                        |   关选项有:  
                        |       i   (忽略大小写)  
                        |       g   (全文查找出现的所有   pattern)  
                        |       gi   (全文查找、忽略大小写)  
  -------------------------------------------------------------------   


  语法1 当预先知道查找字符串时用
  语法 2 当查找字符串经常变动或不知道时用,比如由用户输入得到的字符串。  

在使用前   pattern   参数被编译为内部格式。
对语法   1   来说,pattern   在该脚本被装载时被编译。
对语法   2   来说,pattern   在使用前,或调用   compile   方法时被编译。  


正则表达式的语法表:

字符        |                                           描述    
  ----------------------------------------------------------------  
  \            |     标记下一个字符是特殊字符或文字。例如,"n"   和字符   "n"   匹配。  
               |     "\n"   则和换行字符匹配。序列   "\\"   和   "\"   匹配,而   "\("   则  
               |     和   "("   匹配。    
  ----------------------------------------------------------------  
  ^           |     匹配输入的开头。    
  ----------------------------------------------------------------  
  $           |     匹配输入的末尾。    
  ----------------------------------------------------------------  
  *         |     匹配前面的子表达式零或多次。例如,"zo*"   与   "z"   或   "zoo"   匹配。等价  于 {0,}    
  ----------------------------------------------------------------  
  +           |     匹配前面的子表达式一次或多次。例如,"zo+"   与   "zoo"   匹配,但和   "z"    
               |     不匹配。      
  ----------------------------------------------------------------  
  ?           |     匹配前一个字符零或一次。例如,"a?ve?"   和   "never"   中的   "ve"   匹  
               |     配。      
  -----------------------------------------------------------------  
  .            |   匹配除换行字符外的任何单个字符。      
  -----------------------------------------------------------------  
  (pat-     |     匹配   pattern   并记住该匹配。匹配上的子字符串,可以使用   Item    
  tern)     |     [0]...[n],来从生成的   Matches   集合中取回。要匹配圆括号字  
               |     符   (   ),则需使用   "\("   或   "\)"。    
  -----------------------------------------------------------------  
  x|y       |     匹配   x   或   y。例如,"z|food"   和   "z"   或   "food"   匹配。"(z|f)  
              |     ood"   匹配   "zoo"   或   "food"。      
  -----------------------------------------------------------------  
  {n}      |   n   是非负整数。共匹配   n   次。例如,"o{2}"   和   "Bob"   中的   "o"   不匹  
              |   配,但和   "foooood"   中的前两个   o   匹配。    
  -----------------------------------------------------------------  
  {n,}     |   n   是一个非负整数。至少匹配   n   次。例如,"o{2,}"   和   "Bob"   中  
              |     的   "o"   不匹配,但和   "foooood"   中的所有   o   匹配。"o{1,}"    
              |   与   "o+"   等效。"o{0,}"   和   "o*"   等效。    
  -----------------------------------------------------------------  
  {n,m}   |   m   和   n   是非负整数。至少匹配   n   次而至多匹配   m   次。例如,"o  
              |     {1,3}"   和   "fooooood"   中的前三个   o   匹配。"o{0,1}"   和   "o?"   等  
              |   效。    
  -----------------------------------------------------------------  
  [xyz]   |   字符集合。匹配括号内的任一字符。例如,"[abc]"   和   "plain"   中  
              |   的   "a"   匹配。    
  -----------------------------------------------------------------  
  [^xyz]   |   否定字符集合。匹配非括号内的任何字符。例如,"[^abc]"    
               |     和   "plain"   中的   "p"   匹配。      
  -----------------------------------------------------------------  
  [a-z]     |   字符范围。和指定范围内的任一字符匹配。例如,"[a-z]"   匹配   "a"    
               |   到   "z"范围内的任一小写的字母表字符。      
  -----------------------------------------------------------------  
  [^m-z]  |   否定字符范围。匹配不在指定范围内的任何字符。例如,"[m-z]"   匹配不  
              |   在   "m"   到   "z"范围内的任何字符。      
  -----------------------------------------------------------------  
  \b         |   匹配字的边界,也就是说,在字和空格之间的位置。例如,"er\b"    
              |   和   "never"   中的   "er"   匹配,但和   "verb"   中的   "er"   不匹配。      
  -----------------------------------------------------------------  
  \B         |   匹配非字边界。"ea*r\B"   和   "never   early"   中的   "ear"   匹配。      
  -----------------------------------------------------------------  
  \d         |   匹配数字字符。等价于   [0-9]。      
  -----------------------------------------------------------------  
  \D         |   匹配非数字字符。等价于   [^0-9]。      
  -----------------------------------------------------------------  
  \f         |   匹配换页字符。      
  -----------------------------------------------------------------  
  \n         |   匹配换行字符。      
  -----------------------------------------------------------------  
  \r         |   匹配回车符字符。      
  -----------------------------------------------------------------  
  \s         |匹配任何空白,包括空格、制表、换页等。与   "[   \f\n\r\t\v]"   等效。    
  -----------------------------------------------------------------  
  \S         |   匹配任何非空白字符。与   "[^   \f\n\r\t\v]"   等效。      
  -----------------------------------------------------------------  
  \t         |   匹配制表字符。      
  -----------------------------------------------------------------  
  \v         |   匹配垂直制表符。      
  -----------------------------------------------------------------  
  \w         |   匹配包括下划线在内的任何字字符。与   "[A-Za-z0-9_]"   等效。      
  -----------------------------------------------------------------  
  \W         |   匹配任何非字字符。与   "[^A-Za-z0-9_]"   等效。      
  -----------------------------------------------------------------  
  \num     |   匹配   num,其中   num   是一个正整数。返回记住的匹配的引用。例  
               |   如,"(.)\1"   匹配两个连续的同一字符。      
  -----------------------------------------------------------------  
  \n         |   匹配   n,其中   n   是八进制换码值。八进制换码值必须是   1、2、或   3   位  
              |   长。例如,"\11"   和   "\011"   都匹配制表字符。"\0011"   和   "\001"    
              |   &   "1"   是等效的。八进制换码值必须不超过   256。如果超过了,则只有  
              |   前两位组成表达式。允许在正则表达式中使用   ASCII   码。    
  -----------------------------------------------------------------  
  \xn       |   匹配   n,其中   n   是十六进制换码值。十六进制换码值必须正好是两位  
              |   长。例如,"\x41"   与   "A"   匹配。"\x041"   和   "\x04"   &   "1"   是等效  
              |   的。允许在正则表达式中使用   ASCII   码。  

常用正则表达式            
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个英文字母的大写组成的字符串 
13。^[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 _]+)+)*$
  *     只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
  * 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子,更精练。
    14   ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$

分享到:
评论

相关推荐

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    IP 正则表达式验证

    您可能感兴趣的文章:javascript 手机号码正则表达式验证函数JS正则表达式验证数字代码JavaScript正则表达式验证身份证号码是否合法(两种方法)jquery正则表达式验证(手机号、身份证号、中文名称)邮箱地址正则...

    《正则表达式详解》.pdf

    正则表达式是用于匹配和替换文本的一组具有特定含义的字符串,也叫做匹配模式或Pattern。正则表达式的概念起源于对人类神经系统工作原理的研究,后由Warren McCulloch和Walter Pitts两位科学家发展出数学描述神经...

    JavaScript正则表达式

    1、正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 2、String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。 3、...

    正则表达式必知必会v_1.0.pdf

    "正则表达式必知必会" 正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许...

    正则表达式匹配用户密码

    正则表达式 ^[a-zA-Z]\w{5,17}$ 匹配 以字母开头,长度在6~18之间,只能包含字符、数字和下划线 不匹配 正则表达式 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$ 匹配 1agdA*$# | 1agdA*$# | 1agdA*$# 不...

    正则表达式汇总-Labview

    正则表达式汇总

    运用正则表达式匹配所有表名

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多...

    SQL 正则表达式及mybatis中使用正则表达式

    mysql 提供的模式匹配的其他类型是使用扩展正则表达式。 当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。 扩展正则表达式的一些字符是: “.”匹配任何单个的...

    匹配中文汉字的正则表达式介绍

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也是双字节的字符 代码如下: 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串的长度(一个双字节字符长度计2,...

    js动态拼接正则表达式的两种方法

    在JavaScript中,正则表达式是用于匹配字符串中字符组合的一种模式。它们是强大的工具,可以用来进行复杂的文本搜索和替换操作。然而,正则表达式通常是静态定义的。有时候,在动态环境中,你可能需要根据特定的规则...

    UTF-8正则表达式如何匹配汉字

    判断输入内容是否含有违法字符,请看下面代码 ...preg_match(/^[\x{4e00}-\x{9fa5}]+$/u,$str)) //UTF-8汉字字母数字下划线正则表达式 { echo 您输入的[.$str.]含有违法字符; } else { echo 您输入的[.$str.

    学会java正则表达式正则表达式PDF

    正则表达式是一种特殊的字符序列,它能够帮助我们通过定义的规则来匹配特定的文本字符串。它在处理各种文本数据时表现出强大的灵活性和功能,是编程、数据库查询、文本编辑和开发环境中不可或缺的工具。在编程语言中...

    正则表达式笔记

    系统学了一下正则表达式,省的以后总是查,顺便做了下笔记1、正则表达式概述2、re模块操作1. re模块的使用过程2. re模块示例(匹配以itcast开头的语句)3. 说明3、表示字符4、原始字符串5、表示数量示例1:*示例2:+...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    正则表达式自动生成(小白可用)

    RegEx Builder可以帮助您比较两个表达式的结果 可以在软件上定义表达式的组数据 可以查看字符的编辑逻辑 如果在测试的时候获得不准确的字符 您可以重复测试多次,直到得到正确的结果 可以在软件上建立正式...

    正则表达式入门

    正则表达式入门。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

    js将字符串转成正则表达式的实现方法

    在JavaScript中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在某些场景下,我们可能需要动态地根据用户输入或程序逻辑生成正则表达式。这时,就需要将字符串转换为正则表达式对象。标题和...

    易语言正则表达式匹配中文

    在易语言中,正则表达式是进行文本处理、数据提取和搜索的关键工具,尤其在处理中文字符时显得尤为重要。本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一...

    wps表格excel正则工具,excel正则表达式替换/匹配/查找/搜索/提取数字

    让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel 正则工具」顾名思义,需要使用 “正则表达式(PCRE)” 的知识来进行操作,对于完全没有接触过正则的朋友也许有一定的入门门槛,但正则实在是太过强大...

Global site tag (gtag.js) - Google Analytics