普通字符:匹配与之相同的字符

       字母、数字、汉字、下划线、没有特殊定义的标点符号。

简单的转义字符:

\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春软件构造->正则表达式语法的更多相关文章

  1. HIT2019春软件构造->Git&Github学习笔记

    由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作  1.基本信息设置(设置签名)  命令        项目级别/仓库级别:仅在当前本地库范围内有效 git ...

  2. HIT2019春软件构造->重写hashCode()方法

    不需要重写equals方法: 1.     一个类的每一个实例本质上都是唯一的. 2.     不关心一个类是否提供了“逻辑相等”的测试功能 3.     超类已经改写了equals方法,并且从超类继 ...

  3. 麻省理工18年春软件构造课程阅读02“Java基础”

    本文内容来自MIT_6.031_sp18: Software Construction课程的Readings部分,采用CC BY-SA 4.0协议. 由于我们学校(哈工大)大二软件构造课程的大部分素材 ...

  4. java正则表达式语法详解及其使用代码实例

    原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...

  5. java 正则表达式语法

    java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报  分类: javaS ...

  6. 哈工大软件构造Lab3(2022)

    (防扒小助手) 本人CSDN博客: https://blog.csdn.net/m0_61753302 本人博客园博客(同步CSDN): 何以牵尘 - 博客园 (cnblogs.com)https:/ ...

  7. Perl 正则表达式语法

    1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex  e1(my_expression); boost::r ...

  8. 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 ...

  9. 【转】详解Java正则表达式语法

    (转自: http://www.jb51.net/article/76354.htm) 这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式.匹配验证-验证Email是否正确以及字符串中查询字 ...

随机推荐

  1. Windows system 在python文件操作时的路径表示方法

    file_path =(r'i:\vacpy\ch10\pi_digits.txt') #将文件路径存储在变量file_path中with open (file_path) as file_objec ...

  2. flask 异步发送邮件

    异步发送邮件 当使用SMTP的方式发送电子邮件时,如果你手动使用浏览器测试程序的注册功能,在提交注册表单后,浏览器会有几秒钟的不响应.因为这时候程序正在发送电子邮件,发信的操作阻断了请求--响应循环, ...

  3. 词云(wordcloud2.js js2wordcloud.js)

    npm安装: npm install js2wordcloud --save 用法 var wc = new Js2WordCloud(document.getElementById('contain ...

  4. APP压力测试 monkey(新猿旺学习总结)

    安卓APP做压力测试 需要配置JDK(Java)和 配置SDK 遮掩才能使用adb命令连接手机进行模拟动作事件进行压力测试 配置 K JDK 与 K SDK 环境 a java 与 与 sdk 用于 ...

  5. netperf

    官网 下载 装包 yum -y install make automake libtool pkgconfig libaio-devel 编译安装 ./autogen.sh ./configure m ...

  6. Yii1操作phpexcel

    Yii::import('application.vendors.phpexcel.*'); Yii::import('application.vendors.phpexcel.PHPExcel.*' ...

  7. Bugku-CTF之flag.php(点了login咋没反应)

    Day20 flag.php 地址:http://123.206.87.240:8002/flagphp/   点了login咋没反应 提示:hint 

  8. tcp config

    $ sudo sysctl net.ipv4.tcp_reordering=1 $ sudo sysctl net.ipv4.tcp_thin_linear_timeouts=1 $ sudo sys ...

  9. linux命令行安装teamviewer

    teamviewer最新版本为14,但是Ubuntu14.04不支持,安装13版本即可. sudo dpkg -i teamviewer_13.2.26559_amd64.deb若报错,即缺少依赖,运 ...

  10. EntityFrameworkCore将数据库Timestamp类型在程序中转为long类型

    EntityFrameworkCore将数据库Timestamp类型在程序中转为long类型 EntityFrameworkCore Entity public class Entity { publ ...