Java正则表达式

标签: java正则表达式
456人阅读 评论(1) 收藏 举报
分类:

一、工具

1.1 正则表达式验证工具

http://regexr.com/

1.2 练习工具

https://alf.nu/RegexGolf

二、例子

使用正则表达式匹配以下文本,很明显所有文本都是以ick结尾的,对应的正则为ick$

Mick
Rick
allocochick
backtrick
bestick
candlestick

java中处理正则表达式的类位于java.util.regex包中,包含pattern、matcher和PatternSyntaxException类。
判断010-62761234是不是一个电话号码:

import java.util.regex.Pattern;

public class ResTest1 {

    public static void main(String[] args) {

        String str = "010-62731234";
        String pattern = "0\\d{2}-\\d{8}";
        boolean isMatch = Pattern.matches(pattern, str);

        System.out.println(isMatch);

    }
}

正则表达式语法:

子表达式 匹配对应
^ 匹配一行的开头
$ 匹配一行的结尾
. 匹配除了换行符的任何单个字符,也可以利用 m 选项允许它匹配换行符
[…] 匹配括号内的任意单个字符。
[^…] 匹配不在括号内的任意单个字符。
\A 整个字符串的开始
\z 整个字符串的结束
\Z 整个字符串的结束,除了最后一行的结束符
re* 匹配0或者更多的前表达事件
re+ 匹配1个或更多的之前的事件
re? 匹配0或者1件前表达事件
re{ n} 匹配特定的n个前表达事件
re{ n,} 匹配n或者更多的前表达事件
re{ n, m} 匹配至少n最多m件前表达事件
a|b 匹配a或者b
(re) 正则表达式组匹配文本记忆
(?: re) 没有匹配文本记忆的正则表达式组
(?> re) 匹配无回溯的独立的模式
\w 匹配单词字符
\W 匹配非单词字符
\s 匹配空格。等价于 [\t\n\r\f]
\S 匹配非空格
\d 匹配数字. 等价于 [0-9]
\D 匹配非数字
\A 匹配字符串的开始
\Z 匹配字符串的末尾,如果存在新的一行,则匹配新的一行之前
\z 匹配字符串的末尾
\G 匹配上一次匹配结束的地方
\n 返回参考捕获组号“N”
\b 不在括号里时匹配单词边界。在括号里时匹配退格键
\B 匹配非词边界
\n, \t, etc. 匹配换行符,回车符,制表符,等
\Q 引用字符的初始,结束于\E
\E 结束由\Q开始的引用
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    QQ群

    交流群:559831158

    个人资料
    • 访问:702461次
    • 积分:7707
    • 等级:
    • 排名:第2952名
    • 原创:192篇
    • 转载:2篇
    • 译文:6篇
    • 评论:408条
    StackOverFlow
    http://stackoverflow.com/users/6526424
    统计
    博客专栏
    文章分类
    最新评论