正则表达式

简介: 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)使用。

目录
相关文章
|
12月前
正则表达式
正则表达式
75 0
|
新能源 Java Linux
你必须掌握的常用正则表达式大全
你必须掌握的常用正则表达式大全
1418 1
你必须掌握的常用正则表达式大全
|
数据安全/隐私保护
关于正则表达式我所知道的
关于正则表达式我所知道的
90 0
|
机器学习/深度学习 前端开发 JavaScript
一文掌握正则表达式
本文适合对正则不太熟悉,以及想掌握正则表达式的小伙伴阅读~
最全的常用正则表达式大全
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。
1363 0
|
C#
正则表达式应用二
求一C#正则,获取HTML文本中id 或者name 为“formhash”的value值例子:正则为
921 0
最全面的常用正则表达式大全
就算懂正则的朋友,在遇到需要用正则校验数据时,也往往是在网上去找很久,结果找来的还是不很符合要求。 所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
1131 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...
1278 0
|
机器学习/深度学习 C# Windows