澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

【新普金娱乐】基础入门教程,正则表达式基础

来源:http://www.bhtsgq.com 作者:计算机知识 人气:101 发布时间:2019-10-10
摘要:介绍 这一节大家将介绍那多少个指令 tr (注意不是tar), col , join , paste 。实际这一节是上一节关于能达成管道操作的授命的存在延续,所以大家照样将构成管道来熟习这一个命令

介绍

这一节大家将介绍那多少个指令tr(注意不是tar),coljoinpaste。实际这一节是上一节关于能达成管道操作的授命的存在延续,所以大家照样将构成管道来熟习这一个命令的行使。

Linux 基础入门教程----正则表明式基础

一、常用的文本管理命令

介绍

虽说大家这一节的标题是正则表明式,但骨子里这一节只是介绍grepsedawk那四个指令,而正则表达式作为那三个指令的一种采纳方法(命令输出中得以包罗正则表明式)。正则表明式自己的剧情比很多,要把它证北齐楚必要单独一门课程来完成,不过大家这一节中涉及到的相干内容平常也能够知足广大境况下的供给了。

二、文本管理命令

一、正则表明式

怎么是正则表达式呢?

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在 Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由 UNIX 中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有 regexp、regex,复数有 regexps、regexes、regexen。

粗略的说情势和法力上正则表达式和我们前面讲的通配符很像,不过它们中间又有十分的大差距,非常在意有的特殊的合营字符的意思上,希望初学者注意不要将两个弄混淆。

Linux正则表达式sed 详述 

Linux正则表达式天性及BRE与ERE的分别

grep使用简明及正则表达式

【新普金娱乐】基础入门教程,正则表达式基础。正则表明式的用法

正则表达式之零宽断言

Linux中正则表明式与公事格式化处理命令(awk/grep/sed)

基础正则表达式

常用正则表明式整理

1.tr 命令

tr 命令能够用来删除一段文本音讯中的某个文字。恐怕将其进展转变。

1. 举例

新普金娱乐 1

假设大家有这么二个文本文件,包涵"shiyanlou",和"shilouyan"这多少个字符串,一样多个表达式:

shi*

假若那作为四个正则表明式,它将只好配合shi,而一旦不是用作正则表明式*用作三个通配符,则将同期包容那七个字符串。这是干什么吗?因为在正则表达式中*意味着非凡后边的子表明式(这里正是它前边叁个字符)零次或频仍,举个例子它能够同盟"sh","shii","shish","shiishi"等等,而作为通配符表示相配通配符前面任性八个随机字符,所以它能够同盟"shiyanlou",和"shilouyan"五个字符。

经验完了,上面就来最早正儿八经学习正则表达式吧。

选取办法:

tr [option]...SET1 [SET2]

2.基本语法:

一个正则表明式日常被叫做一个情势(pattern),为用来说述依旧合作一类别符合有个别句法则则的字符串。

常用的选项有:

选项 说明
-d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配
-s 去除set1指定的在输入文本中连续并重复的字符

选择

|竖直分隔符表示选用,举个例子"boy|girl"能够合营"boy"恐怕"girl"

操作比如:

# 删除 "hello shiyanlou" 中所有的'o','l','h'
$ echo 'hello shiyanlou' | tr -d 'olh'
# 将"hello" 中的ll,去重为一个l
$ echo 'hello' | tr -s 'l'
# 将输入文本,全部转换为大写或小写输出
$ cat /etc/passwd | tr '[:lower:]' '[:upper:]'
# 上面的'[:lower:]' '[:upper:]'你也可以简单的写作'[a-z]' '[A-Z]',当然反过来将大写变小写也是可以的

新普金娱乐 2

越多 tr 的施用,你能够运用--help或者man tr获得。

多少限制

数量限制除了我们比方用的*,还有 加号,?问号,.点号,假若在四个形式中不加数量限制符则表示出现一回且仅出现三遍:

  • 表示后边的字符必需现身起码二次(1次或频仍),举例,"goo gle",能够包容"gooogle","goooogle"等;
  • ?意味着前边的字符最多出现三次(0次或1次),比如,"colou?r",能够协作"color"只怕"colour";
  • *星号代表前边的字符能够不出新,也能够出现三回照旧屡屡(0次、或1次、或频仍),举个例子,“0*42”能够同盟42、042、0042、00042等。

2.col 命令

col 命令能够将Tab换来对等数据的空格建,或反转这些操作。

界定和预先级

()圆括号能够用来定义格局字符串的限制和优先级,那足以省略的明亮为是不是将括号内的格局串作为多个总体。比如,"gr(a|e)y"等价于"gray|grey",(这里呈现了优先级,竖直分隔符用于选拔a或许e实际不是gra和ey),"(grand)?father"相称father和grandfather(这里感受了限定,?将圆括号内容作为贰个完好无缺合作)。

使用办法:

col [option]

语法(部分)

正则表达式有各类差别的作风,下边罗列部分常用的当做 PCRE 子集的适用于perlpython编制程序语言及grepegrep的正则表明式相配准绳:(由于markdown表格深入分析的标题,上边包车型大巴竖直分隔符用全角字符替代,实际利用时请换回半角字符)

PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用 C 语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost 之类的正则表达式库小得多。PCRE 十分易用,同时功能也很强大,性能超过了 POSIX 正则表达式库和一些经典的正则表达式库。
字符 描述
将下一个字符标记为一个特殊字符、或一个原义字符。例如,“n”匹配字符“n”。“n”匹配一个换行符。序列“\”匹配“”而“(”则匹配“(”。
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
{n} n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
{n,} n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o ”。“o{0,}”则等价于“o*”。
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
* 匹配前面的子表达式零次或多次。例如,zo*能匹配“z”、“zo”以及“zoo”。*等价于{0,}。
匹配前面的子表达式一次或多次。例如,“zo ”能匹配“zo”以及“zoo”,但不能匹配“z”。 等价于{1,}。
? 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。
? 当该字符紧跟在任何一个其他限制符(*, ,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o ?”将匹配单个“o”,而“o ”将匹配所有“o”。
. 匹配除“n”之外的任何单个字符。要匹配包括“n”在内的任何字符,请使用像“(.|n)”的模式。
(pattern) 匹配pattern并获取这一匹配的子字符串。该子字符串用于向后引用。要匹配圆括号字符,请使用“(”或“)”。
x|y 匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。
[xyz] 字符集合(character class)。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。其中特殊字符仅有反斜线保持特殊含义,用于转义字符。其它特殊字符如星号、加号、各种括号等均作为普通字符。脱字符^如果出现在首位则表示负值字符集合;如果出现在字符串中间就仅作为普通字符。连字符 - 如果出现在字符串中间表示字符范围描述;如果如果出现在首位则仅作为普通字符。
[^xyz] 排除型(negate)字符集合。匹配未列出的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”。
[a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[^a-z] 排除型的字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。

常用的选项有:

选项 说明
-x Tab转换为空格
-h 将空格转换为Tab(默认选项)

优先级

早期级为从上到下从左到右,依次裁减:

运算符 说明
转义符
(), (?:), (?=), [] 括号和中括号
*、 、?、{n}、{n,}、{n,m} 限定符
^、$、任何元字符 定位点和序列
 选择

regex的思导图:

新普金娱乐 3

更加多实际情况见请继续阅读下一页的优美内容:

  • 1
  • 2
  • 3
  • 4
  • 下一页

基础入门教程----正则表明式基础 介绍 纵然大家这一节的标题是正则表达式,但实则这一节只是介绍 grep , sed , awk 那四个指令,而正...

操作比方:

# 查看 /etc/protocols 中的不可见字符,可以看到很多 ^I ,这其实就是 Tab 转义成可见字符的符号
$ cat -A /etc/protocols
# 使用 col -x 将 /etc/protocols 中的 Tab 转换为空格,然后再使用 cat 查看,你发现 ^I 不见了
$ cat /etc/protocols | col -x | cat -A

新普金娱乐 4

本文由澳门新葡亰发布于计算机知识,转载请注明出处:【新普金娱乐】基础入门教程,正则表达式基础

关键词:

最火资讯