java 正则表达式
2016-03-10 17:49
309 查看
正则表达式基本上每个编程语言上都有,而正则表达式的功能非常强大,可以匹配任何格式的字符,通过简单的一行代码就能判断字符串是否匹配。java正则的应用还有替换,查找等等。
下面是一些对话,可以看看。
小明:可以用
大神:你看这些代码的返回值都是true
为什么会这样呢?
因为
正确的方式是
下面看看一些正则里面的特殊符号。
如何匹配
http url 匹配String url = "https:\\www.baid45u.com\\?wd=adf"; boolean m1 = Pattern.matches("http:\\\\([A-z0-9]+\\.)+[A-z]+.*", url); System.out.println(m1);
Pattern.matches方法是一个正则表达式和一个字符串匹配,如果匹配成功则返回true,否则返回false
java 正则的特殊字符
如果你想匹配一个.,你会怎么匹配?也许你会使用equals 方法。如果是比较复杂的匹配,如邮箱那你则怎么匹配
.呢?
下面是一些对话,可以看看。
小明:可以用
Pattern.matches(".", ".");
大神:你看这些代码的返回值都是true
Pattern.matches(".", "s"); Pattern.matches(".", "A"); Pattern.matches(".", "1"); Pattern.matches(".", "&");
为什么会这样呢?
因为
.在正则表达式里面是个特殊符号,和字符串的意义不同。
正确的方式是
Pattern.matches("\\.", ".");
下面看看一些正则里面的特殊符号。
符号 | 意义 |
---|---|
// | 此符号正则里面的转义符,例如上面把.特殊进行转义,就变成了正则里面的 .了 |
[] | 用于单个字符匹配,如Pattern.matches("[hello]", "e");则能匹配成功 |
{} | 用于匹配字符出现的次数{5}则表示前一个表达式出现次数必须5次。 {1,}则表示前一个表达式出现的次数必须0次以上 。 {3,7}则标示前一个表达式出现的范围。 |
* | 用于匹配前一个表达式的次数,不管出现多少次都为true |
? | 用于匹配前一个表达式的次数,0 次或1 次为true |
+ | 用于匹配前一个表达式的次数,1 次或多次为true |
() | 将多个表达式分组 |
^ | 此表达式由两个作用,第一是限制一个表达式开头,另一个是反义的意思 |
$ | 限制表达式结尾 |
| | 或匹配,用于多个表达式匹配 |
. | 用于匹配任意单个字符 |
其他表达式
java里面提供了一些其他的表达式,比较简短表达式 | 意义 |
---|---|
/d | 用于匹配单个数字字符,可以用[0-9]替代 |
/D | 用于匹配单个非数字字符,可以用[^0-9]替代 |
/w: | 用于匹配单个字母数字下划线字符,等同于[a-zA-Z_0-9] |
/W | 和/w 正好相反 |
相关文章推荐
- msql 正则表达式
- 正则表达式
- Mootools 1.2教程 正则表达式
- 批处理FINDSTR正则表达式用法实例分析
- vbs正则表达式代码
- C#正则表达式Regex类的常用匹配
- C#中利用正则表达式将人民币金额转换为大写汉字
- C#使用正则表达式实现首字母转大写的方法
- php中看实例学正则表达式
- PHP正则表达式之定界符和原子介绍
- PHP下常用正则表达式整理
- 批处理 正则表达式(findstr) 整理
- 详解C#正则表达式Regex常用匹配
- C#正则表达式的6个简单例子
- JavaScript类型系统之正则表达式
- 详解JS正则replace的使用方法
- javascript中的正则表达式使用指南
- C#中的正则表达式介绍
- 学习正则帮手笨狼正则练习器