HIT2019春软件构造->正则表达式语法
普通字符:匹配与之相同的字符
字母、数字、汉字、下划线、没有特殊定义的标点符号。
简单的转义字符:
|
\n |
换行符 |
|
\t |
制表符 |
|
\\ |
代表\本身 |
|
\^,\$,\.,\(,\),\{,\},\?,\+,\*,\|,\[,\] |
匹配这些字符本身 |
标准字符集合:与多种字符相匹配的表达式
注:区分大小写,大写即相反的意思
|
\d |
任意一个数字,0-9之间 \D:任意一个不是数字的字符 |
|
\w |
任意一个字母或数字或下划线,A~Z、a~z、0~9、_ |
|
\s |
空格、制表符、换行符等空白字符中任意一个 |
|
. |
小数点可以匹配任意一个字符(除换行符),若要匹配包括“\n”在内,用“[\s\S]” |
自定义字符集合:[ ]方括号匹配方式,匹配方括号中任意一个字符
|
[ab5@] |
匹配“a”/“b”/“5”/“@”,或的关系即取∪ |
|
[^abc] |
匹配“a”“b”“c”之外的任意字符 |
|
[f-k] |
匹配“f~k” |
|
[^A-F0-3] |
匹配除“A~F”,“0~3” |
注:正则表达式的特殊符号,被包含到中括号中,失去特殊意义(^,-除外)
标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合。
[\d.\-+] 匹配:数字、小数点、+、-
量词
|
{n} |
表达式重复n次 |
|
{m,n} |
表达式至少重复m次,最多重复n次 |
|
{m,} |
表达式至少重复m次,无{,n}形式 |
|
? |
匹配表达式0次或1次,相当于{0,1} |
|
+ |
表达式至少出现1次,相当于{1,} |
|
* |
表达式不出现或出现任意次,相当于{0,} |
注:匹配次数中的贪婪模式(匹配字符越多越好,是默认模式)
匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后再加上一个“?”号)
字符边界 零宽度(匹配不到字符)
匹配的不是字符而是位置,符合某种条件的位置
|
^ |
与字符串开始的地方匹配 |
|
$ |
与字符串结束的地方匹配 |
|
\b |
匹配一个单词边界 |
注: \b 匹配这样一个位置:前面的字符和后面的字符不全是\w
^i: i的左侧是一个字符串开始的地方
i$:i的右侧是字符串结束的位置
匹配模式

选择符和分组

反向引用(\nnn)

预搜索(零宽断言/环式断言)

匹配内容本身不计入匹配结果
HIT2019春软件构造->正则表达式语法的更多相关文章
- HIT2019春软件构造->Git&Github学习笔记
由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作 1.基本信息设置(设置签名) 命令 项目级别/仓库级别:仅在当前本地库范围内有效 git ...
- HIT2019春软件构造->重写hashCode()方法
不需要重写equals方法: 1. 一个类的每一个实例本质上都是唯一的. 2. 不关心一个类是否提供了“逻辑相等”的测试功能 3. 超类已经改写了equals方法,并且从超类继 ...
- 麻省理工18年春软件构造课程阅读02“Java基础”
本文内容来自MIT_6.031_sp18: Software Construction课程的Readings部分,采用CC BY-SA 4.0协议. 由于我们学校(哈工大)大二软件构造课程的大部分素材 ...
- java正则表达式语法详解及其使用代码实例
原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...
- java 正则表达式语法
java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报 分类: javaS ...
- 哈工大软件构造Lab3(2022)
(防扒小助手) 本人CSDN博客: https://blog.csdn.net/m0_61753302 本人博客园博客(同步CSDN): 何以牵尘 - 博客园 (cnblogs.com)https:/ ...
- Perl 正则表达式语法
1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex e1(my_expression); boost::r ...
- Atitit. 构造ast 语法树的总结attilax oao 1. Ast结构树形12. ast view (自是个160k的jar )22.1. 多条语句ast结构22.2. 变量定义 int b,c; 的ast结构22.3. 方法调用meth1(a=1,b=2,c=3); 的ast结构23. 误解的问题33.1. 语法书子能是个二叉树,实际上多叉树越好..33.2. 非要不个ast放到个s
Atitit. 构造ast 语法树的总结attilax oao 1. Ast结构树形1 2. ast view (自是个160k的jar )2 2.1. 多条语句ast结构2 2.2. 变量定义 in ...
- 【转】详解Java正则表达式语法
(转自: http://www.jb51.net/article/76354.htm) 这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式.匹配验证-验证Email是否正确以及字符串中查询字 ...
随机推荐
- Hibernate的load和get方法的区别
这次我们聊一下Hibernate3.2 Session加载数据时get和load方法的区别,我总结的如下: 1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在sessi ...
- 示例, linq分组
public class HIS_CLIREGISTER : BaseModel{ private String _FBCODE;[StringLength(8)]/// <summary> ...
- redis 在 php 中的应用(Hash篇)
本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) Redis hash 是一个string类型的f ...
- LINUX 编程定位工具gstack,pstack
pstack: pstack命令可显示每个进程的栈跟踪. pstack 命令必须由相应进程的属主或 root 运行. 可以使用 pstack 来确定进程挂起的位置. 此命令允许使用的唯一选项是要检查的 ...
- 软件测试2gkd
JUnit单元测试 一.单元测试的概念和目的 什么是单元测试?单元测试是在开发过程中要进行的最低级别的测试活动,是需要与开发同步进行的工作,它由程序员自己完成,属于编码的一部分.单元测试是为了确保类的 ...
- Maven的基本概念
一.Maven的基本概念' Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1 ...
- Bytom Kit开发辅助工具介绍
Bytom Kit是一款为了帮助开发者更简单地理解Bytom的开发辅助工具,集合了校验.标注.解码.测试水龙头等功能. 该工具用python语言封装了一套比原的API和7个工具方法,如果有开发需求可以 ...
- <工厂方法>比<简单工厂>多了啥
前言:多注重设计.仅当复习讨论! 简单工厂模式 UML图 假如有一位爱心人士,想给饥饿的流浪动物喂食.此时爱心人士身带了狗粮,但是他到处找啊找,最终只找到了猫大人,是不是有点惨兮兮.但是如果有简单 ...
- oracle数据库查看和解除死锁
查看死锁: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_ ...
- C#异常重试通用类Retry
//Retry机制 public static class Retry { /// <summary> /// 重试零个参数无返回值的方法 /// </summary> /// ...