正则表达式

简介: 1.正则表达式中的符号含义 . 任意字符 * 出现次数大于等于零 + 出现次数大于零 | “或”的逻辑关系 \ 正则表达式中的转义。java中\也表示转义,所以经常能看到\\连一块,不好看。 () 同数学中小括号的作用 ? 出现零次或一次 \d [0,9] \D 非数字 \s 空白符(空格 制表符 回车 换页 换行) \S 非空白符 \w 英文字符[a-zA-Z0-

1.正则表达式中的符号含义

. 任意字符

* 出现次数大于等于零

+ 出现次数大于零
| “或”的逻辑关系
\ 正则表达式中的转义。java中\也表示转义,所以经常能看到\\连一块,不好看。
() 同数学中小括号的作用
? 出现零次或一次
\d [0,9]
\D 非数字
\s 空白符(空格 制表符 回车 换页 换行)
\S 非空白符
\w 英文字符[a-zA-Z0-9]
\W 非英文字符[^\w]  。 注意^符号在中括号外表示字符串的开头,中括号内表示取反。
$ 一行的结束
^ 一行的起始
[] 表示集合,包含其中的任意一个即可匹配

贪婪与非贪婪

贪婪:一个匹配去匹配尽可能多的字符串,也就是得到的匹配数最少。默认是贪婪的。

非贪婪:得到的匹配数最多,每个匹配的长度最少。在匹配优先量词后加上“?”,即变成属于非贪婪模式的量词。

2.常用类

java.util.regex. Pattern
正则表达式编译后的表示、
Pattern java.util.regex.Pattern. compile(String regex)
将正则表达式编译成pattern。

java.util.regex. Matcher
代表字符串与正则表达式的匹配结果。
Matcher java.util.regex.Pattern. matcher(CharSequence input)
得到matcher。
String java.util.regex.Matcher. replaceAll(String replacement)
用replacement替代所有匹配。
boolean java.util.regex.Matcher. find()
将当前游标移动到下一个匹配,若后面没有了,返回false。
String java.util.regex.Matcher. group()
返回当前游标所指的匹配到的字符串。
int java.util.regex.Matcher. start()
返回当前匹配的下标。

3.例子

(-|\+)?\d+ //可能以+号或-号开始,后面跟的有数字


4.匹配与抠取

要匹配的东西以小括号括起来,搭配matcher.group(i)使用。

目录
相关文章
|
27天前
最全面的常用正则表达式大全
最全面的常用正则表达式大全
12 1
|
1月前
|
Unix Perl
基本正则表达式
基本正则表达式
14 2
|
3月前
正则表达式的使用
正则表达式的使用
17 1
|
5月前
正则表达式汇总
正则表达式汇总
23 0
|
11月前
|
JavaScript 数据安全/隐私保护
|
Java 数据安全/隐私保护 Perl
常用的正则表达式大全
本文总结了常用的常用的正则表达式
109 0
常用的正则表达式大全
|
XML 数据安全/隐私保护 数据格式
|
移动开发
【小技巧】正则表达式
正则表达式小技巧 1 空行替换 ^\r\n
496 0
|
Shell Linux Python
正则表达式与运用
正则表达式用的地方是很多的。比如字符串处理过程中。最近遇到记录一下。 1. 比如在shell中 1 #!/bin/bash 2 3 str="date:2017-11-28 os:centos blackbord:blog" 4 5 echo $str | grep centos --colo...
1248 0