Java中正则表达式分类及使用方法,分门别类,总结的很好

1、正则表达式是什么?

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

作用 : 比如注册邮箱 , 邮箱有用户名和密码 , 一般会对其限制长度 , 这个限制长度的事情就是正则表达式做的

2、案例演示

需求:校验 qq 号码 .

1: 要求必须是 5-15 位数字

2:0 不能开头

3: 必须都是数字

a: 非正则表达式实现

b: 正则表达式实现

网络配图

3、正则表达式分类学习:

(1)、字符类演示

A: 字符类

[abc] a 、 b 或 c (简单类)

[^abc] 任何字符,除了 a 、 b 或 c (否定)

[a-zA-Z] a 到 z 或 A 到 Z ,两头的字母包括在内(范围)

[0-9] 0 到 9 的字符都包括

(2) 、预定义字符类演示

A: 预定义字符类

. 任何字符。

d 数字: [0-9]

w 单词字符: [a-zA-Z_0-9]

(3)、 (数量词

A:Greedy 数量词

X? X ,一次或一次也没有

X* X ,零次或多次

X+ X ,一次或多次

X X ,恰好 n 次

X X ,至少 n 次

X X ,至少 n 次,但是不超过 m 次

网络配图

(4)、正则表达式的分割功能

A: 正则表达式的分割功能

String 类的功能: public String[] split(String regex)

B: 案例演示

正则表达式的分割功能

(5)、把给定字符串中的数字排序

A: 案例演示

需求:我有如下一个字符串 :”91 27 46 38 50” ,请写代码实现最终输出结果是: ”27 38 46 50 91”

(6)、正则表达式的替换功能

A: 正则表达式的替换功能

String 类的功能: public String replaceAll(String regex,String replacement)

B: 案例演示

正则表达式的替换功能

网络配图

(7)、 正则表达式的分组功能

A: 正则表达式的分组功能

捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:

1 ((A)(B(C)))

2 (A

3 (B(C))

4 (C)

组零始终代表整个表达式。

B: 案例演示 a: 切割 需求:请按照叠词切割: "sdqqfgkkkhjppppkl"; b: 替换 需求:我我 .... 我 ... 我 . 要 ... 要要 ... 要学 .... 学学 .. 学 . 编 .. 编编 . 编 . 程 . 程 . 程 .. 程

将字符串还原成 :“ 我要学编程 ” 。

看了这个,正则表达式在开发中可以很好运用了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171225G03CNM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券