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{n} X ,恰好 n 次

X{n,} X ,至少 n 次

X{n,m} 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: 替换 需求:我我 .... 我 ... 我 . 要 ... 要要 ... 要学 .... 学学 .. 学 . 编 .. 编编 . 编 . 程 . 程 . 程 .. 程

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

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

原文发布于微信公众号 - Java学习网(javalearns)

原文发表时间:2017-12-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Zephery

2017-03-03学习笔记

一、String StringBuffer.toString()源码: @Override public synchronized String toStrin...

363110
来自专栏闪电gogogo的专栏

Python——正则表达式

此篇文章结合小甲鱼的笔记和视频整理。 1 编译 Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行...

296100
来自专栏前端侠2.0

大白话讲解Promise(一)一文 的学习+新领悟

1、Promise是一个构造函数,自己身上有all、reject、resolve、then、catch。。。。。

22920
来自专栏阿凯的Excel

Python读书笔记5(字符串相关应用)

上期分享了Python相关的字符串应用,重点分享了转义字符。今天和大家分享和字符串相关的函数和应用。 一、字符串的合并! ? Python用“+”号可以连接...

37850
来自专栏C/C++基础

Google C++编程风格指南(三)之作用域的相关规范

C++在C的基础上引入了名字空间机制,使C中作用域的级别从原有的文件域(全局作用域)和局部域(函数作用域和代码块作用域)中间增加了名字空间域和类域。

9830
来自专栏ShaoYL

IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解

31590
来自专栏架构之路

JAVA基础知识点:内存、比较和Final

1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题。(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对...

48440
来自专栏小勇DW3

redis中各种数据类型的常用操作方法汇总

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是re...

21330
来自专栏Hongten

python开发_函数的参数传递

在这个用例中,我们要讨论的是关于函数的传参问题 我所使用的python版本为3.3.2

11240
来自专栏编程

Python读书笔记5

上期分享了Python相关的字符串应用,重点分享了转义字符。今天和大家分享和字符串相关的函数和应用。 一、字符串的合并! Python用“+”号可以连接两个文本...

22770

扫码关注云+社区

领取腾讯云代金券