Java正则表达式

一、工具

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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

esc_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值