源: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中也不例外。Java的正则表达式功能强大,可以用于验证输入、提取信息、替换文本等多种场景。本资料"java_zhengze.rar"提供了对Java正则表达式的...
正则表达式自动生成器V2.0.0.1是一款强大的工具,旨在帮助用户方便快捷地构建和测试正则表达式。它提供了多语言支持,使得不同地区的用户都能无障碍地使用。在IT领域,正则表达式是进行文本处理、数据验证和搜索替换...
$/` - 此正则表达式匹配完整的URL,包括HTTP或HTTPS协议、域名和可选路径。 6. IP 地址:`/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/` - 用于验证IPv4地址的...
根据给定的文件信息,我们可以总结出以下关于Java正则表达式的重要知识点: ### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具,它能够帮助我们匹配、查找、替换等操作符合某种规则的字符串。在Java中,...
下面是一些Java正则表达式的实例,包括邮箱验证、URL验证等。 ```java String emailRegex = "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"; String urlRegex = "^https?://([a-zA-Z0-9\\-\\.]+)\\.(com|org|net|...
### Java常用正则表达式详解 #### 匹配腾讯QQ号 **正则表达式:** [1-9][0-9]{4,} **评注:** 腾讯QQ号从10000开始。 - **解析:** 此表达式确保了QQ号的第一个数字必须是非零数字(即1到9之间的任意一个),接着...
java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。本教程将深入讲解Java中的正则表达式,并提供丰富的实例来帮助开发者理解和应用这些概念。 1. 正则...
定义了一个正则表达式,用于匹配以“abc.com”结尾且域名由1到3个小写字母组成的URL。然后,创建了一个`Term`对象,并将其传递给`RegexQuery`构造函数。 4. **执行查询**: ```java Hits hits = searcher.search...
Java中的正则表达式是处理字符串的强大工具,它在编程中扮演着不可或缺的角色,尤其是在文本处理、数据验证和模式匹配等方面。这篇博客“java常用正则表达式(转)”可能详细介绍了Java如何使用正则表达式进行各种...
一个基本的URL正则表达式如下: ```java String regexURL = "^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(\\/\\S*)?$"; ``` 这个表达式能匹配大多数标准格式的URL。 在实际应用中,这些正则表达式可以...
### Java中的正则表达式详解 #### 一、引言 正则表达式是一种非常强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。自JDK 1.4版本起,Java便引入了对正则表达式的支持。本文将详细介绍...
Java正则表达式是Java编程语言中的一个强大工具,它用于模式匹配和字符串处理,尤其在数据验证、文本检索和替换等方面发挥着重要作用。本教程是专为初学者设计的HTML版,旨在帮助读者快速掌握Java正则表达式的概念和...
该文档是针对mysql和oracle数据库url地址的校验问题。
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本提取、搜索替换等。本篇文章将深入探讨Java中的...
Java正则表达式是Java编程语言中的一个强大工具,用于处理字符串模式匹配和搜索替换操作。它是基于Perl和POSIX正则表达式的实现,提供了一种灵活且强大的方式来处理文本数据。本文件"java正则表达式详解(PDF)"深入...
正则表达式是一种强大的字符串匹配工具,广泛应用于各种编程语言中,例如Java、Perl等。下面是正则表达式的语法和实例总结。 特殊字符 * `\` 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或...
【Java正则表达式学习】 Java正则表达式是Java编程语言中用于处理字符串的强大工具,自JDK1.4版本起被引入。它源于PHP并迅速流行,主要用于复杂字符串的验证和处理。正则表达式可以高效地完成对字符串的检查、分割...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本提取、搜索替换等。本篇文章将深入探讨Java中的...