源:http://blog.csdn.net/jiaguanghan123/article/details/5217511
评:
网上转贴的Java正则很让人失望,一篇JavaScript正则集录被很多人当成Java正则表达式转来转去,我擦,太坑爹了吧。
自己写一个吧
[java] view plaincopy
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpressionTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("^(http|www|ftp|)?(://)?(//w+(-//w+)*)(//.(//w+(-//w+)*))*((://d+)?)(/(//w+(-//w+)*))*(//.?(//w)*)(//?)?(((//w*%)*(//w*//?)*(//w*:)*(//w*//+)*(//w*//.)*(//w*&)*(//w*-)*(//w*=)*(//w*%)*(//w*//?)*(//w*:)*(//w*//+)*(//w*//.)*(//w*&)*(//w*-)*(//w*=)*)*(//w*)*)$",Pattern.CASE_INSENSITIVE );
Matcher m = p.matcher("http://www.qqgb.com/Program/Java/JavaFAQ/JavaJ2SE/Program_146959.html");
if(m.find()){
System.out.println(m.group());
}
m = p.matcher("http://baike.baidu.com/view/230199.htm?fr=ala0_1");
if(m.find()){
System.out.println(m.group());
}
m = p.matcher("http://www.google.cn/gwt/x?u=http%3A%2F%2Fanotherbug.blog.chinajavaworld.com%2Fentry%2F4550%2F0%2F&btnGo=Go&source=wax&ie=UTF-8&oe=UTF-8");
if(m.find()){
System.out.println(m.group());
}
m = p.matcher("http://zh.wikipedia.org:80/wiki/Special:Search?search=tielu&go=Go");
if(m.find()){
System.out.println(m.group());
}
}
}
运行结果:
http://www.qqgb.com/Program/Java/JavaFAQ/JavaJ2SE/Program_146959.html
http://baike.baidu.com/view/230199.htm?fr=ala0_1
http://www.google.cn/gwt/x?u=http%3A%2F%2Fanotherbug.blog.chinajavaworld.com%2Fentry%2F4550%2F0%2F&btnGo=Go&source=wax&ie=UTF-8&oe=UTF-8
http://zh.wikipedia.org:80/wiki/Special:Search?search=tielu&go=Go
说明这几种类型的都可以识别。
//其他Java正则【转自itpub】
01、"^//d+$" //非负整数(正整数 + 0)
02、"^[0-9]*[1-9][0-9]*$" //正整数
03、"^((-//d+)|(0+))$" //非正整数(负整数 + 0)
04、"^-[0-9]*[1-9][0-9]*$" //负整数
05、"^-?//d+$" //整数
06、"^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0)
07、"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
08、"^((-//d+(//.//d+)?)|(0+(//.0+)?))$" //非正浮点数(负浮点数 + 0)
09、"^(-(([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地址
分享到:
相关推荐
java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。
学习如何在uRL、路径、标记语言和数据交换中使用正则表达式; 学习更高深的正则表达式特性中的微妙之处; 理解在不同语言中正则表达式的API、语法和行为之间的区别; 创建更好的正则表达式来满足个性化的需求。 ...
该文档是针对mysql和oracle数据库url地址的校验问题。
Java正则表达式[web输入验证<身份证,邮箱,URL,手机号等>]
正则表达式 实例
Java正则表达式的使用实例Java正则表达式的使用实例;关于url、电话等字符串的判断
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
正则表达式验证 java script 验证大全 部分: 下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。 匹配中文字符的正则表达式: [u4...
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] ...匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:...
从贪婪匹配和非贪婪匹配的概念到匹配数字、字母、汉字等特定模式,再到匹配邮箱地址、URL链接、手机号码等常见场景,每个问题都会给出相应的正则表达式和解析步骤。通过学习这些问题和解析,你将掌握复杂匹配规则的...
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ ...
Java正则表达式工具类。包含手机号、电话号码、身份证、邮箱、URL、密码、日期、IP地址、QQ号、浮点数、中文姓名、组织机构代码的正则校验。
学习如何在uRL、路径、标记语言和数据交换中使用正则表达式; 学习更高深的正则表达式特性中的微妙之处; 理解在不同语言中正则表达式的API、语法和行为之间的区别; 创建更好的正则表达式来满足个性化的...
java 中常用的匹配正则表达式实例大全 (Email地址、网址URL、帐号是否合法、国内电话号码、身份证、腾讯QQ号、国内电话号码、ip地址、特定数字 等等)
操作系统 OS 复习资料 C#制作的图书管理系统 Java语言程序设计基础篇课件(含代码) 从单片机初学者到单片机工程师 VB和sql小型超市收银管理课设 企业人事档案管理信息系统
主要介绍了java正则表达式匹配网页所有网址和链接文字java正则表达式匹配,需要的朋友可以参考下
JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...