关闭

Java正则表达式

标签: java正则表达式
694人阅读 评论(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
查看评论

Java正则表达式的语法与示例

Java正则表达式的语法与示例 正则表达式是什么?用我的理解就是一个表达式。用来匹配,替换,判断字符串,之前业务就出现过判断返回值是否为邮箱。 以下内容来自于http://baike.xsoftlab.net/view/207.html#3 java正则表达式正则表达式语法java正则表达式语...
  • qq_19558705
  • qq_19558705
  • 2015-11-19 09:49
  • 8032

Java 正则表达式的详细介绍以及实例演示

Java正则表达式的解释说明 表达式意义: 1.字符 x    字符 x。例如a表示字符a \\    反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在第二次解析时再解析为\...
  • qq_22118507
  • qq_22118507
  • 2016-06-14 19:57
  • 4297

Java学习系列(二十四)Java正则表达式详解

正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换。在实例演示之前先了解一下Pattern、Matcher这两个工具类,Pattern:编译好的带匹配的模板(如:Pattern.compile("[a-z]{2}");/ / 取2...
  • JAVE_LOVER
  • JAVE_LOVER
  • 2015-05-05 17:22
  • 6538

Java学习笔记----正则表达式

本来以为正则表达式很简单的,不就是匹配一个字符串吗,今天仔细看了书,发现好多地方自己都不懂,上网找了找资料,发现正则表达式还是很强大的,而且想完全理解还是有一定难度的。 ps:在网上找资料的过程中,发现很多人写的有错误,而且错的都一样,不过我自己把代码敲了一边,让编译器去判断就
  • txg703003659
  • txg703003659
  • 2011-08-04 15:23
  • 3175

Java基础视频教程第25天_正则表达式

一、正则表达式——特点 正则表达式:符合一定规则的表达式。 作用:用于专门操作字符串。 String 类中对正则表达式应用的其中一个方法: boolean matches(String regex); 判断此字符串是否匹配给定的正则表达式。  需求: 对Q
  • yc081216
  • yc081216
  • 2015-03-20 13:15
  • 814

JAVA正则表达式之全部符号解释

字符 描述 / 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 &quo...
  • skywolf2002
  • skywolf2002
  • 2007-03-13 10:56
  • 5949

[疯狂Java]正则表达式:Java正则表达式语法、贪婪模式/勉强模式

1. 基本字符和特殊字符:     1) 正则表达式前面讲过了,是需要先编译再执行的,因此从某种方面来将正则表达式其实也是一种特殊的编程语言;     2) 既然是编程语言(特殊的编程与语言)那么它就有它自己的源代码字符、关键字等概念了;   ...
  • Lirx_Tech
  • Lirx_Tech
  • 2016-06-20 15:10
  • 1263

java正则表达式教程(翻译)

翻译至:http://www.vogella.com/tutorials/JavaRegularExpressions/article.html 1、正则表达式 1.1、什么是正则表达式? 一个正则表达式定义了一个字符串的搜索模式。正则表达式的简称为正则。搜索模式可以是一个简单的字符,一个...
  • LinBilin_
  • LinBilin_
  • 2016-12-12 17:31
  • 510

超级详细的Java正则表达式----学习学习!

(我始终认为,一些东西是需要理论化的,是需要系统的学一下的,虽然可能随着经验的积累这些东西都会在实践中学会,但那需要付出时间的代价太大,不如主动系统的学一下。) Java正则表达式 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地...
  • Happy_wu
  • Happy_wu
  • 2016-06-13 19:59
  • 5224

java 正则表达式 信息验证

第一种验证方式 Pattern p = Pattern.compile("模式");  Matcher m = p.matcher("要验证的信息");  boolean ...
  • zm19936
  • zm19936
  • 2016-02-25 09:38
  • 84
    《从Lucene到Elasticsearch:全文检索实战》
    Lucene、ES、ELK开发交流群:370734940
    Lucene、ES、ELK开发交流
    个人资料
    • 访问:935753次
    • 积分:9246
    • 等级:
    • 排名:第2379名
    • 原创:209篇
    • 转载:2篇
    • 译文:6篇
    • 评论:468条
    StackOverFlow
    http://stackoverflow.com/users/6526424
    统计
    博客专栏
    文章分类
    最新评论