博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式
阅读量:4160 次
发布时间:2019-05-26

本文共 1645 字,大约阅读时间需要 5 分钟。

文章目录

一.正则表达式简介

  • 正则表达式描述了一种字符串匹配的模式,也称规则表达式
  • 常用于检索,替换符合指定模式(规则)的文本
  • 大多数语言都支持正则表达式

二.正则表达式语法

  • 正则表达式是由普通字符和特殊字符组成的字符串
  • 普通字符:原义字符和非打印字符
  • 非打印字符如下:
字符 说明
\r 匹配一个回车符
\n 匹配一个换行符
\t 匹配一个制表符
\f 匹配一个换页符
  • 特殊字符:
  • 元字符: * + ? $ ^ . | \ () {} []
字符 说明 字符 说明
$ 匹配输入字符串的结尾位置 ^ 匹配输入字符串的起始位置
() 标记子表达式的开始和结束 \ 转义符
* 匹配前面表达式任意次 ? 匹配前面表达式0次或多次
+ 匹配前面表达式一次或多次 {n} 匹配前面表达式n次
. 匹配除换行符\n之外的任何单字符 {n,m} 最少匹配n次,最多匹配m次
[xyz] xyz表示字符集合,匹配中括号所包含的任意字符 x|y 匹配表达式x或y
[^xyz] 表示匹配非xyz集合中的字符 [a-z] 匹配a-z范围的字符
  • 预定义字符,如下:
字符 说明
\d 匹配数字,等价于[0-9]
\D 匹配非数字,等价于[^\d]
\w 匹配任意字母数字,等价于[a-zA-Z0-9_]
\W 匹配非字母数字,等价于[^\w]
\s 匹配空白字符,等价于[\t\r\n\f\v],注意的是其中包含空格
\S 匹配非空白字符,等价于[^\s]

三.java的正则表达式

  • 位于java.util.regex包
  • Pattern类:表示一个正则表达式(匹配模式)
  • Matcher类:Pattern对象matcher()方法的返回值,表示正则表达式对输入字符串的匹配结果
  • 演示如下代码:
package regex;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author sunyong * @date 2020/05/19 * @description * 测试正则表达式 */public class TestRegex {
public static void main(String[] args) {
Pattern p = Pattern.compile("h(?
.?)(\\w*)(.*)");//匹配模式 Matcher m = p.matcher("hhfl_j??");//匹配的对象 System.out.println("是否匹配成功?"+m.matches());//匹配成功? //匹配之后才能处理 if(m.matches()){
//匹配的结果 // 命名分组 参数为整数代表第几个括号的内容 0为整体内容(和无参一样) // 命名分组 参数用?
<变量名>
表示 直接调用该变量名 System.out.println("无参:"+m.group()); System.out.println("参数为0:"+m.group(0)); System.out.println("参数为变量名(等价于数字1):"+m.group("result1")); System.out.println("参数为1:"+m.group(1)); System.out.println("参数为2:"+m.group(2)); System.out.println("参数为3:"+m.group(3)); } }}
  • 运行结果如下:
    在这里插入图片描述

转载地址:http://pdjxi.baihongyu.com/

你可能感兴趣的文章
MySQL字段类型的选择与MySQL的查询效率
查看>>
Java的Properties配置文件用法【续】
查看>>
JAVA操作properties文件的代码实例
查看>>
java杂记
查看>>
RunTime.getRuntime().exec()
查看>>
Oracle 分组排序函数
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>
Android studio_迁移Eclipse项目到Android studio
查看>>
转载知乎-前端汇总资源
查看>>
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>