正则表达式备忘录
Regular Expressions Cheatsheet中文版
原文:https://www.maketecheasier.com/cheatsheet/regex/

测试文件a.txt

0x1:

If you work with text,

you’ll appreciate

how useful regular expressions are.

0x00001:

Regular expressions

are everywhere in Linux

for searching through text

right down to the character.

0x0000001:

This Regular Expressions cheatsheet

will be useful

for people

who simply need a little refresher

from time

to time.

字符

描述

例子

. (点)

任何单个字符,除了换行(\n)

c.t 匹配 "cat", "cut" 或 "cot."。

'任意字符加im':

[root@test: /tmp]# egrep '.im' a.txt

who simply need a little refresher

from time

to time.

* (星号)

重复前一个表达式0或多次

12*3 匹配 "13", "123", "1223", "12223"。

与 . 合用代表任何字符。

m.*easier 匹配 "maketecheasier"。

'x加任意个0加1:'

[root@test: /tmp]# egrep 'x0*1:' a.txt

0x1:

0x00001:

0x0000001:

'任何包含f加任意字符加l'

[root@test: /tmp]# egrep 'f.*l' a.txt

how useful regular expressions are.

will be useful

for people

+ (加号)

重复前一个表达式1或多次

12+3 匹配 "123","1223","12223"

'x加至少一个0加1:' (比较上一个用*的)

[root@test: /tmp]# egrep 'x0+1:' a.txt

0x00001:

0x0000001:

? (问号)

前一个字符可有可无

ma?ke 匹配 "make", "mke"

'有n或无n加ee'

[root@test: /tmp]# egrep 'n?ee' a.txt

This Regular Expressions cheatsheet

who simply need a little refresher

^ (尖号)

匹配字符串的开头

^he 匹配以he开头的 "hello", "hell", "help", "he is a boy"

'以空格开头的行'

[root@test: /tmp]# egrep '^ ' a.txt

how useful regular expressions are.

are everywhere in Linux

for searching through text

right down to the character.

will be useful

for people

who simply need a little refresher

from time

to time.

$ (美刀)

匹配字符串的结尾

ed$ 匹配以ed结尾的 "acted", bed", "greed"

'字母e结尾的行'

[root@test: /tmp]# egrep 'e$' a.txt

you’ll appreciate

from time

(...) (小括号)

匹配字符组合

(ak) 匹配 "make", "take"

'包含 it 的'

[root@test: /tmp]# egrep '(it)' a.txt

If you work with text,

who simply need a little refresher

{n} (大括号,n是大于0的整数)

重复前一个字符n次,n>0

12{3}5 匹配 "12225"

'x加4个0加1'

[root@test: /tmp]# egrep 'x0{4}1' a.txt

0x00001:

[...] (中括号)

匹配里面的任意一个字符

[abc] 匹配字符串"abc"中的"a","b" 或 "c"

'所有包含v或b的'

[root@test: /tmp]# egrep '[vb]' a.txt

are everywhere in Linux

will be useful

[^...]

匹配任意字符,除了里面定义的

a[^b]c 匹配 "aec", "acc", "adc", 但不匹配 "abc"

'f前面不能是空格或e'

[root@test: /tmp]# egrep '[^ e]f' a.txt

If you work with text,

| (管道符)

匹配管道符分隔的任一字符串

col(o|ou)r 匹配 "color", "colour"

- (连字符)

指定某个范围内的字符一般是[a-z],[A-Z],[1-9],[a-zA-Z1-9]

a[a-z]c 匹配 "abc", "acc", "adc"

\ (反斜线)

转义符,将特殊符合转义为符号本身

a\*c 匹配 "a*c".

\n, \r, \t

代表 换行,回车,制表符

\b...\b

匹配整个单词

\bTech\b 匹配 the word "Tech" in "Make Tech Easier".

找到单词time

[root@test: /tmp]# egrep '\btime\b' a.txt

from time

to time.

正则表达式备忘录-Regular Expressions Cheatsheet中文版的更多相关文章

  1. 正则表达式(Regular expressions)使用笔记

    Regular expressions are a powerful language for matching text patterns. This page gives a basic intr ...

  2. [笔记] 精通正则表达式/Mastering Regular Expressions

    / 匹配<emphasis>这个tag标注的IP地址的RE:‘<emphasis>([0-9]+(\.[0-9]+){3})</emphasis>' / 锚定--a ...

  3. Regular Expressions all in one

    Regular Expressions all in one Regular Expressions Cheatsheet https://developer.mozilla.org/en-US/do ...

  4. 自学Zabbix8.1 Regular expressions 正则表达式

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix8.1 Regular expressions 正则表达式 1. 配置 点击Adm ...

  5. Python之Regular Expressions(正则表达式)

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 很可能你使用过Windows/Dos下用 ...

  6. 转载:邮箱正则表达式Comparing E-mail Address Validating Regular Expressions

    Comparing E-mail Address Validating Regular Expressions Updated: 2/3/2012 Summary This page compares ...

  7. Regular Expressions --正则表达式官方教程

    http://docs.oracle.com/javase/tutorial/essential/regex/index.html This lesson explains how to use th ...

  8. Regular Expressions in Grep Command with 10 Examples --reference

    Regular expressions are used to search and manipulate the text, based on the patterns. Most of the L ...

  9. Introducing Regular Expressions 学习笔记

    Introducing Regular Expressions 读书笔记 工具: regexbuddy:http://download.csdn.net/tag/regexbuddy%E7%A0%B4 ...

随机推荐

  1. js 三大家族之offset

    JS中的offset家族: 一.offsetWidth与offsetHeight: 获取的是元素的实际宽高 = width + border + padding 注意点: 1.可以获取行内及内嵌的宽高 ...

  2. Qt 学习之路 2(52):使用拖放

    Qt 学习之路 2(52):使用拖放 豆子 2013年5月21日 Qt 学习之路 2 17条评论 拖放(Drag and Drop),通常会简称为 DnD,是现代软件开发中必不可少的一项技术.它提供了 ...

  3. DataFactory使用和注意,排列组合

    DataFactory使用和注意 mysql 连接ODBC开放数据库连接(Open Database Connectivity,ODBC)驱动程序 生成数据:int不能用 Build a compos ...

  4. 简单了解树形DP

    今天在B站看了一个树形DP教学视频有所收获,做一个小小的总结 AV号和链接在这:av12194537 那么先介绍一下树形DP 树形DP就是在树这个特殊的数据结构上进行的DP.有两种方向:自顶向下和自底 ...

  5. Win10安装MySQL5.7.22解压缩版的方法及手动配置讲解

    1.先去MYSQL官网下载安装包,解压放到C盘 2.新建一个my.ini文件放到bin文件夹下面,内容如下,路径对应自己的安装目录: [mysql] # 设置mysql客户端默认字符集 default ...

  6. 【研究】CVE-2017-11882-Office远程代码执行漏洞复现

    实验环境:win10+kali 工具:koadic,Command43b_CVE-2017-11882.py KALI: root@kali:/opt/koadic-master# ./koadic ...

  7. 解决Resharper在Core项目中无法执行单元测试的问题

    项目升级core了,resharper最近升级到2018.1版本,但是安装后还是无法直接运行单元测试,昨天小姐姐发了解决方法,贼有用.所以记录一下,给自己以后或者其他遇到此问题的小伙伴用.  解决Re ...

  8. Java基础26-对象初始化过程

    /* 1.因为new Test1()用到了Test1类,所以会把它从硬盘上加载进入内存 2.如果有static静态代码块就会随着类的加载而执行,还有静态成员和普通方法也会随着类的加载而被加载 3.在堆 ...

  9. Oracle 数据库实例和数据库

    本文参考自oracle数据库实例,数据库的理解,纯属读书笔记,用于加深记忆. 先看Tom关于这二者的解释: 1.数据库 物理操作系统文件或磁盘的集合(我觉得可以理解为数据文件等).使用Oracle 1 ...

  10. jdk7.NIO.2学习笔记之目录文件及权限

    package com.zl.jdk7; import java.io.File; import java.io.IOException; import java.nio.file.Path; imp ...