`

Linux-正则表达式

阅读更多
Linux下 正则表达式 所支持的工具有哪些呢:

1 匹配文本行的grep工具族;

2 改变输入流的stream editor (sed)流编辑器;

3 用于处理字符串的语言:awk,python,perl等;

4 文件查看程序或者分页程序

5 文本编辑器诸如vi,vim,ed

精确模式的匹配不忽略大小写:

\b表示元字符,代表着单词的开头或者结尾,比如我需要查找一个文本的Nicky,如果不使用精确匹配,那么所有包含Nicky的单词,无论大小写全部会查找出来。怎么办呢?\bNicky\b

如果需要查找Nicky 后面含有coder的单词就可以这样写\bNicky\b.*\bcoder\b;

.也表示元字符,他匹配除了换行符以外的任意字符;

*也表示元字符,表示匹配任意的数量而不是字符;

+元字符,匹配至少一个

?最多一个

\d:元字符表示匹配数字,\w表示匹配字母

如果我要匹配0\d\d-\d\d\d\d\d\d\d\d

0\d{2}-\d{8}

 

如何测试或正则:

如果你当前在命令行:

cat /etc/passwd | grep sbin

----------------------------------------

\(word\)表示查找到word之后,保存在保留区域(内存中),后续的表达式可以通过转转义序列引用这些匹配的模式,第二个或者第九个可以通过\1..9的数字来表示匹配几个。举个列子:

\(Nicky\).*\1:匹配两个Nicky之间任意的字符

 

只显示以a开头的行,比如我现在通过某一个命令或者在文本中,想查找哪些行是以a开头的。

ls -l | grep '^a'

或者 grep '^a'/tmp/Pattern.txt;

 

从某一个文件或某几个文件中查找某字符串

grep 'Nicky' /tmp/Pattern.txt /tmp/spring/wser.xml

 

在文本中查找以..开头的行且匹配某表达式:

grep 'travel' a* /tmp/Pattern.txt

cat /tmp/Pattern.txt | grep '^a'

注意cat /tmp/Pattern.txt | grep travel’a*不适合于cat命令。

posix字符集中,我们还支持

[:alnum:]表示字母数字符,等价于A-Za-z0-9

[:alpha:]匹配字母

[:digit:]匹配数字

[:lower:]匹配写字母

[:upper:]匹配大写字母

 

我们还需注意:

如果在方括号中[]使用^字符,表示取反而不是以什么开头

[^abc]处理abc三个小写字母之外的任意字符

 

匹配单词的开始和结束

比如我想查找一个 以Nicky开始和结束的字串:

grep "\<Nicky\>" /tmp/Pattern.txt

比如我想查找一个 以Nicky开始字串:

I’m Nickys.

grep "\<Nicky" /tmp/Pattern.txt

分享到:
评论

相关推荐

    Tcl/tk 宝典之二 - 正则表达式参考

    * 正则表达式不仅用于程序开发,还广泛应用于 Unix/Linux 系统管理中 知识点二:正则表达式的基本概念 * 正则表达式是利用 26 个英文字符与一些特殊符号的配合来进行文字内容比对的方法 * 正则表达式中,26 个英文...

    06-正则表达式(python和linux高级编程阶段 代码和截图)

    06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 ...

    linux系统shell正则表达式-练习工具和教材

    在IT领域,Linux系统Shell和正则表达式是两个至关重要的工具,它们在日常的系统管理、数据分析和脚本编写中发挥着巨大的作用。本文将深入探讨Linux Shell下的正则表达式,包括其基本概念、元字符、模式匹配以及常用...

    Linux正则表达式.pdf

    Linux正则表达式.pdf 本文档主要介绍了 Linux 系统中的正则表达式的概念、历史、定义和应用。正则表达式是一种字符串匹配模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个...

    Linux下的C语言正则表达式

    ### Linux下的C语言正则表达式使用详解 #### 引言 正则表达式作为一种强大的文本处理工具,广泛应用于各种编程语言中。对于C语言来说,尽管标准库并不直接支持正则表达式的操作,但可以通过引入第三方库来实现这一...

    Linux shell-正则表达式基础-思维导图-

    Linux shell环境中,正则表达式是进行模式匹配和字符串查找的强大工具。以下是对正则表达式基础的详细说明,结合提供的思维导图,我们将深入理解这些基础知识。 1. **星号(*)**: 星号表示匹配前一个字符出现0次或...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

    Linux C Regex正则表达式 库

    在Linux环境中,C语言编程中处理字符串匹配和模式查找时,常常会用到正则表达式库。这里的"Linux C Regex正则表达式库"是一个专门为C语言开发的库,用于实现正则表达式的编译、匹配和操作功能。这个库经过修改后,也...

    Linux命令行与shell脚本编程-正则表达式的应用案例

    在“Linux命令行与shell脚本编程-正则表达式的应用案例”中,我们将深入探讨如何在Linux环境中运用正则表达式来实现高效的数据操作。 一、Linux命令行中的正则表达式 1. `grep`命令:用于在文件或输入流中查找符合...

    文件路径的正则表达式

    其中包括windows和linux文件路径的正则表达式;去除空格和斜杠转换的replaceall方法

    电子书--正则表达式之道

    在Java、Shell和Linux环境中,正则表达式被广泛应用。Java提供了java.util.regex包,使得在Java程序中可以方便地进行正则操作;Shell脚本中的grep、sed和awk命令也离不开正则表达式的支持;而在Linux系统中,无论是...

    Linux中几个正则表达式的用法.doc

    以下将详细介绍文件标题和描述中涉及的几个Linux正则表达式用法: 1. **查找IPv4地址**: 使用`ifconfig`命令获取网络接口配置,通过管道`|`传递给其他命令处理。`head -n 2 | tail -1`用于获取第一行非标题行,...

    Linux在合集中使用正则表达式来匹配查找.zip

    在Linux系统中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作,广泛应用于数据提取、文件搜索、脚本编程等多个领域。本合集主要围绕如何在Linux环境下利用正则表达式...

    正则表达式详细介绍

    在Linux和Unix环境中,正则表达式常用于命令行工具,如grep、sed和awk等。在这些环境中,正则表达式广泛用于文本处理和自动化任务的脚本编写。 综上所述,正则表达式是文本处理中不可或缺的工具。通过理解正则...

    linux shell正则表达式

    Linux Shell中的正则表达式是文本处理和搜索的关键工具,尤其在使用命令行工具如grep、sed和awk时。它们允许我们以灵活的方式查找、替换和解析文本模式。以下是正则表达式的基本概念、分类以及在Linux常用文本工具中...

    UNIX和Linux Shell正则表达式语法介绍

    正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。本文介绍了UNIX和Linux Shell正则表达式的语法。

    最小的C++正则表达式库

    《最小的C++正则表达式库:高效与便携性的完美融合》 在软件开发领域,正则表达式作为一种强大的文本处理工具,被广泛应用于数据验证、文本搜索和替换等场景。对于C++程序员来说,找到一个轻量级、跨平台且功能强大...

    老男孩老师-Linux正则表达式实战 学习笔记

    根据老男孩老师视频教程《Linux正则表达式实战》的精彩讲解,进行了学习笔记记录,主要讲解Linux三剑客中的grep用法、捎带sed的讲解笔记。 学习笔记进行了规整,相信Linux运维工作者能够一目了然笔记的内容。 (1...

Global site tag (gtag.js) - Google Analytics