文档章节

正则表达式

米斯特粥
 米斯特粥
发布于 2017/09/02 01:10
字数 811
阅读 17
收藏 0
点赞 0
评论 0

概念

正则表达式(英语:Regular Expression,在代码中常简写为regex)。

正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

正则表达式语法规则

                  * a: 字符

                          * x  代表的是字符x

                          * \\ 代表的是反斜线字符'\'

                          * \t 代表的是制表符

                          * \n 代表的是换行符

                          * \r 代表的是回车符

                  * b: 字符类

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

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

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

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

                          * [a-zA-Z_0-9] 代表的字母或者数字或者下划线(即单词字符)

                  * c: 预定义字符类

                          * . 任何字符。

                          * \d 数字:[0-9]

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

                  * d: 边界匹配器

                          * ^  代表的是行的开头

                          * $  代表的是行的结尾

                          * \b 代表的是单词边界

                  * e: 数量词

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

                          * X*     X,零次或多次

                          * X+     X,一次或多次

                          * X{n}   X,恰好 n 次

                          * X{n,}  X,至少 n 次

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

例子说明

    规则:"[0-9]{6,12}"

        该规则需要匹配的内容是:长度为6位到12位的数字。

    规则:"1[34578][0-9]{9}"

        该规则需要匹配的内容是:11位的手机号码,第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字

    规则:"a*b"

        该规则需要匹配的内容是:在多个a或零个a后面有个b;b必须为最后一个字符。

 

在Java中的字符串类中涉及正则表达式的常用方法

  public boolean matches(String regex) //判断字符串是否匹配给定的规则

  举例:校验qq号码.

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

      2: 0不能开头

  代码例子:

      String qq = "604154942";

      String regex = "[1-9][0-9]{4,14}";

      boolean flag2 = qq.matches(regex);

  public String[] split(String regex)   //根据给定正则表达式的匹配规则,拆分此字符串

  举例:分割出字符串中的的数字

  代码例子:

  String s = "18-22-40-65";

      String regex = "-";

      String[] result = s.split(regex);

  代码例子:

      String s = "18 22 40 65";

      String regex = " ";

      String[] result = s.split(regex);

  public String replaceAll(String regex,String replacement)    //将符合规则的字符串内容,全部替换为新字符串

  举例:把文字中的数字替换成*

  代码例子:

      String s = "Hello12345World6789012";

      String regex = "[0-9]";

      String result = s.replaceAll(regex, "*");

总结

正则表达式:用来定义匹配规则,匹配一系列符合某个句法规则的字符串。

正则表达式的匹配规则

请参见 正则表达式的匹配规则

正则表达式的常用方法:

public boolean matches(String regex) //判断字符串是否匹配给定的规则

public String[] split(String regex)   //根据给定正则表达式的匹配规则,拆分此字符串

public String replaceAll(String regex,String replacement) //将符合规则的字符串内容,全部替换为新字符串

© 著作权归作者所有

共有 人打赏支持
米斯特粥
粉丝 5
博文 11
码字总数 12097
作品 0
贵阳

暂无文章

Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
24分钟前
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
41分钟前
4
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
58分钟前
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0
There is no session with id[xxx]

参考网页 https://blog.csdn.net/caimengyuan/article/details/52526765 报错 2018-07-19 23:04:35,330 [http-nio-1008-exec-8] DEBUG [org.apache.shiro.web.servlet.SimpleCookie] - Found......

karma123
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部