正则表达式入门

空扰寡人 提交于 2020-02-04 22:12:11

正则表达式

概述及基本使用

正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。

举例:校验qq号码.
1:要求必须是5-15位数字
2:0不能开头

正则表达式的组成规则

规则字符在java.util.regex Pattern类中
正则表达式就是符合一定规则的字符串
常见规则

A:字符

​ x 字符 x。举例:'a’表示字符a
​ \ 反斜线字符。
​ \n 新行(换行)符
​ \r 回车符

B:字符类

​ [abc] a、b 或 c(简单类)
​ [^abc] 任何字符,除了 a、b 或 c(否定)
​ [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
​ [0-9] 0到9的字符都包括

C:预定义字符类

​ . 任何字符。我的就是.字符本身,怎么表示呢? . 使用\.在Java中是\\.
​ \d 数字:[0-9]
​ \w 单词字符:[a-zA-Z_0-9]
​ 在正则表达式里面组成单词的东西必须有这些东西组成

D:边界匹配器

​ ^ 行的开头
​ $ 行的结尾

E:Greedy 数量词

​ X? X,零次或一次
​ X* X,零次或多次
​ X+ X,一次或多次
​ X{n} X,恰好 n 次
​ X{n,} X,至少 n 次
​ X{n,m} X,至少 n 次,但是不超过 m 次

正则表达式的应用

匹配功能
public boolean matches(String regex)
校验邮箱
// 151654654@qq.com
// wangzhen@163.com
// liuyan@126.com
// laowang@itcast.cn
// lisi@sina.com.cn
校验手机号
// 13686958452

手机号的校验

"1[345789][0-9]{9}"

邮箱的校验:

baoqiang@163.com

12345@126.com

"[0-9_a-z_A-Z]{3,9}@(163|126)\\.(com|cn)"

分割功能
public String[] split(String regex)
我有如下一个字符串:”91 27 46 38 50”
请写代码实现最终输出结果是:”27 38 46 50 91”
替换功能
public String replaceAll(String regex,String replacement)
字符串”halo123java456mysql789python” 把数字替换成*

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!