`
lydawen
  • 浏览: 471671 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一些正则表达式[转载+原创]

阅读更多


在java中使用:

String a="12";
System.out.println(a.matches("^\\d{1,2}"));

显示true ,使用方法:String.matches("正则表达式");

在JS中:
var str="1234";
var reg =/^[0-9]\d*$/; //正则表达式
if(reg.test(str))
return (true);
else{
alert("请输入0或正整数!");
}


*****************************以下为转载***************************************


常用正则表达式

长度为6到32的英文、下划线、数字组成的帐号
^[a-zA-Z]\w{5,31}$

E_mail
^\w+([.]\w+)*@\w+([.]\w+)+$

邮政编码(6个数字)
^\d{6}$

日期(yyyy-MM-dd)月、日可为1位或2位
^\d{4}-(1[012]|0?[1-9])-(0?[1-9]|[12][0-9]|3[01])$

时间(HH:mm:ss)时可为1、2位,分、秒为2位
^((1|0?)[0-9]|2[0-3])(:[0-5][0-9]){2}$

18或15位的身份证号
^(\d{15}|\d{17}\w)$

中文字符
[\u4e00-\u9fa5]

双字节字符(包括中文)
[^\x00-\xff]

整数
^(0|(-?[1-9]\d*))$

正整数
^(0|([1-9]\d*))$

负整数
^-([1-9]\d*)$

数值(正、负的整、小数)
^(0|(-?[1-9]\d*))(\.\d+)?$

一对HTML标签(可包含属性,开始、结束标签之间内容为任意)
^<([a-zA-Z]\w*)(\s+[a-zA-Z]\w*(=(".*"|'.*'|\w+))?)*>.*</\1>$

Windows合法文件名
^[^\\/:\*\?\|"<>]+$

Windows合法路径
^([a-zA-Z]:\\)?([^\\/:\*\?\|"<>]+\\)*[^\\/:\*\?\|"<>]+\\?$

不断添加中,对正则表达式感兴趣的朋友,有高见的朋友谢谢帮忙添加


[b]以上转自:http://www.cnblogs.com/Apex-yang/articles/1273320.html

正则表达式符号说明

"."
符号:表示一个字符的通配符

[abc]
[]内有的字符,只能出现单个字符,结果可以是:[a],[b],[c],不能出现:[ab],[ac]等的组合

"或"符号:"|"
方括号里只能是单一字符,而()里可以是多个字符,如:a(ab|d|k)f 得到的可以是:aabf,adf,akf

"非"符号:"^"
[^a] 表示,除了字符a的所有字符

圆括号和空白符号"\s"
假设要从格式为“June 26, 1951”的生日日期中提取出月份部分,用来匹配该日期的正则表达式

:[a-z]+\s[0-9]{1,2},\s*[0-9]{4}   [a-z]+表示有一个以上的字符a-z \s表示空格 [0-9]

{1,2}表示,0-9数据的个数必须是1位或2位(1-2位) \s*表示可有可无空格


字符出现次数(这些限定符号加在数值的后面):
* >=0次
+ >=1次
? 0|1次
{n} n次
{n,m} 从n到m次

正则表达式中:"-"是特殊字符(意思是,多少到多少),如果要表示一个"-"符号,应该这样:"\-"

例:999-99-9999 格式的正则表达式 定义应该为:[0-9]{3}\-[0-9]{2}\-[0-9]{4}
如果你希望999999999也符合以上格式标准(也就是忽略-符号),可以这样写:[0-9]{3}\-?[0-9]

{2}\-?[0-9]{4}    (把?加在要限定符号的后面即可)

 

 

 

 

"^\d+$"  //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
"^(-?\d+)(\.\d+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址

 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\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]*$

 

一些常用正则表达式

提取信息中的网络链接:
(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?  
提取信息中的邮件地址:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
提取信息中的图片链接:
(s|S)(r|R)(c|C)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?
提取信息中的ip地址: 
(\d+)\.(\d+)\.(\d+)\.(\d+)   
提取信息中的中国手机号码:
(86)*0*13\d{9}   
提取信息中的中国固定电话号码:
(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}   
提取信息中的中国电话号码(包括移动和固定电话):
(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}   
提取信息中的中国邮政编码:
[1-9]{1}(\d+){5}   
提取信息中的中国身份证号码:
\d{18}|\d{15}   
提取信息中的整数:
\d+   
提取信息中的浮点数(即小数):
(-?\d*)\.?\d+   
提取信息中的任何数字  :
(-?\d*)(\.\d+)? 
提取信息中的中文字符串:
[\u4e00-\u9fa5]*   
提取信息中的双字节字符串  (汉字):
[^\x00-\xff]* 
提取信息中的英文字符串:
\w*



以上转自:
http://blog.csdn.net/justin_579/archive/2006/03/08/618914.aspx

 

分享到:
评论

相关推荐

    正则表达式教程+验证器

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。本教程旨在为初学者提供一个快速掌握正则表达式的基本概念和实用技巧的平台。 《正则...

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...

    正则表达式主要语法详解+编程知识+技术开发

    正则表达式语法:正则表达式主要语法详解+编程知识+技术开发; 正则表达式语法:正则表达式主要语法详解+编程知识+技术开发; 正则表达式语法:正则表达式主要语法详解+编程知识+技术开发; 正则表达式语法:正则...

    Java正则表达式详解+基于HTMLParser解析HTML网页

    如何在Java程序中利用正则表达式实现对字符串的解析.另外,HTMLParser是一款很强大的对HTML网页进行解析的工具,其中大量地用到正则表达式.

    vb正则表达式实例(正则表达式测试程序)

    在VB.NET中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员通过模式匹配来处理字符串。这个“vb正则表达式实例”很可能是为了帮助开发者测试和理解正则表达式的工作原理而设计的一个应用...

    正则表达式笔记+源码!!!!!!

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索替换等场景。在IT行业中,熟练掌握正则表达式是提高工作效率的关键技能之一。 首先,我们来看看...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

    VC、VC++,MFC 正则表达式类库

    正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则表达式处理模块。这个库通常包含一系列的类和函数,允许程序员编写符合特定模式...

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

    在正则表达式中,还有一些特定的元字符,例如数字字符(\d)、非数字字符(\D)、数字、字母或下划线(\w)、非数字、字母或下划线(\W)、空白字符(\s)、非空白字符(\S)等。这些元字符可以用于匹配特定的字符或...

    简单的正则表达式+js验证邮箱例子

    简单的正则表达式+js验证邮箱例子 新手必备 !

    C语言正则表达式库

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

    三目运算符+正则表达式

    在编程世界中,三目运算符和正则表达式是两个非常重要的概念,它们各自扮演着独特的角色,同时也常被结合起来使用,以提高代码的简洁性和效率。让我们深入探讨这两个主题。 首先,三目运算符,也称为条件运算符,是...

    Java使用正则表达式提取XML节点内容的方法示例

    正则表达式是指一个模式串,它由一些特殊的符号和字符组成,用于描述一个字符串的模式。Java中提供了对正则表达式的支持,使得开发者可以使用正则表达式来匹配和提取字符串中的内容。 二、XML节点内容提取方法 在...

    正则表达式大全 - 收集的最常用正则表达式

    以下是一些常见的正则表达式及其用途: 1. 匹配中文字符:`[u4e00-u9fa5]` - 这个正则表达式用于匹配所有中文字符,包括简体和繁体。它基于Unicode范围,u4e00到u9fa5涵盖了大部分常用汉字。 2. 匹配双字节字符:`...

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

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

    正则表达式大全.docx

    以下是一些常见的正则表达式模式及其用途: 1. 用户名验证:`/^[a-z0-9_-]{3,16}$/` - 这个正则表达式用于检查用户名是否合法,它只接受小写字母、数字、下划线和破折号,且长度在3到16个字符之间。 2. 密码验证:...

    最常用的一些正则表达式和验证正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。在C#编程语言中,正则表达式被广泛应用于数据验证,如检查电子邮件地址的有效性或网址URL的格式。以下是对这些常见正则表达式及其在C#中...

    正则表达式完美教程+超实用的正则工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换、文本解析等领域。本教程结合超实用的正则工具,将帮助你深入理解和熟练掌握正则表达式的使用。 ...

Global site tag (gtag.js) - Google Analytics