`
oliver_peng
  • 浏览: 44253 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

如何用正则表达式排除一个完整的字符串

阅读更多
今天用sed工具实现将文件中所有不包含特定字符串的行删除,发现要用正则表达式来匹配不等于某个字符串需要一点小的技巧。

例如要匹配不包含test字符串,首先想到:

[^t][^e][^s][^t]


但问题是这样会将包含tast或者tesa也删除。

最终的解决方案:

([^t].*|t[^e].*|te[^s]|tes[^t])


如果有更长的字符串,以此类推。

完整的sed命令:

sed -r 's/(^.*[^t].*$|^.*t[^e].*$|^.*te[^s].*$|^.*tes[^t].*$)//g' ./file > /tmp/file && mv /tmp/file ./file

0
1
分享到:
评论

相关推荐

    易语言正则表达式匹配中文

    这个命令接受两个参数:一个是待检测的字符串,另一个是正则表达式模式。 对于匹配中文,我们需要了解中文字符的编码。在Unicode编码中,中文字符通常位于`U+4E00`到`U+9FFF`之间,也包括一些扩展区的汉字。因此,...

    python正则表达式匹配不包含某几个字符的字符串方法

    假设我们的目标是排除字符串中的“,"等符号,那么可以使用`[^",]*`这个否定字符集,它会匹配除了双引号和逗号之外的任意字符任意次数。那么修改后的正则表达式如下: ``` https?://[^",]*?\.(?:jpg|png|jpeg) ``` ...

    javascript正则表达式迷你书 (1).pdf

    正则表达式中的字符匹配攻略是指使用特殊的字符或符号来匹配字符串中的特定模式。例如,`.`字符可以匹配任何单个字符,而`[abc]`字符组可以匹配任何一个在方括号中的字符。 横向模糊匹配 横向模糊匹配是指使用特殊...

    常用java正则表达式

    接着,定义了一个名为`SocialSecurityNumberValidator`的类,在主方法中使用`Pattern.compile`编译正则表达式,并使用`matcher.matches`来检查字符串是否与给定的模式匹配。 通过上述知识点的学习,读者可以了解到...

    快速查找与字符串或正则表达式匹配的所有行_Python_代码_相关文件_下载

    使用正则表达式排除行 用字符串排除行 在编辑 > 代码折叠菜单上: 折叠排除正则表达式 折叠排除字符串 使用正则表达式折叠 用绳子折叠 在 Windows 和 Linux 上,使用ctrl而不是⌘. 更多详情、使用方法,请下载后...

    正则表达式三种思维逻辑.pdf

    正则表达式,又称正则式或规则表达式,是一种在计算机科学中使用的字符串模式匹配工具,它通过一套特定的规则描述字符串的构成,以实现对字符串的检索、替换等操作。正则表达式通过组合单个字符、字符组、多选分支等...

    正则表达式的匹配规则

    正则表达式是一种强大的文本处理工具,用于在字符串中查找、替换或提取符合特定模式的文本。它在编程、数据分析、文本挖掘等领域有着广泛的应用。本文将深入探讨正则表达式的匹配规则,帮助你理解和掌握这个强大的...

    正则表达式详解(20分钟看懂正则)

    正则表达式是一种强大的文本模式匹配工具,广泛应用于编程语言如Java中,用于处理字符串数据,实现字符串的搜索、替换、提取等操作。它能够精确描述复杂的文本规则,帮助开发者高效地处理文本数据。 #### 二、入门...

    一般得正则表达式(包括整型 匹配非负整数、匹配正整数、匹配空行的正则表达式、 匹配双字节字符)

    正则表达式是一种强大的文本处理工具,用于在字符串中查找、替换或提取符合特定模式的文本。在IT行业中,正则表达式广泛应用于数据验证、文本分析、日志处理等多个领域。下面我们将深入探讨标题和描述中提到的几个...

    详解正则表达式后面不要包含指定的字符串内容

    文章指出使用“[^abc]”并不能解决问题,因为这种写法是排除单个字符,而非排除字符串。在文章的进一步分析中,建议使用“(?:[^>](?!excludeX))”结构。这里使用了一个非捕获组(?:...),并结合了否定前瞻(?!excludeX...

    测试 正则表达式 工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配字符串模式,广泛应用于数据验证、搜索和替换等场景。测试正则表达式工具是开发和调试正则表达式的重要辅助软件,可以帮助程序员...

    正则表达式教材资料合集

    正则表达式,简称为正则或regex,是用于匹配字符串模式的一种语言,广泛应用于文本处理、数据验证、搜索和替换等场景。在IT行业中,掌握正则表达式是提高工作效率的重要技能之一,无论是编程、数据分析还是网页爬虫...

    java正则表达式 regx

    Java 正则表达式,简称 `regx`,是一种强大的文本处理工具,它允许程序员通过预定义的模式来查找、替换或操作字符串。虽然在Java规范需求(Specification Request)中正则表达式的支持是在后续版本引入的,但在早期...

    正则表达式.7z

    分组是正则表达式中的一个重要概念,通过使用圆括号"( )",我们可以创建子模式,这些子模式可以捕获匹配的部分,并在之后的替换操作中使用。同时,分组还可以利用反向引用,例如"\1"代表第一个捕获的子模式,这在复杂...

    java-正则表达式-正则表达式元素介绍

    在Java中,你可以使用`matches()`方法来检查一个字符串是否完全符合某个正则表达式模式,`split()`方法将字符串根据正则表达式分割成多个子字符串,以及`replaceAll()`方法替换字符串中符合正则表达式的部分。...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    正则表达式的应用全集

    它通过一套特殊的语法来定义一个模式,这个模式可以匹配一系列符合特定规则的字符串。以下是对正则表达式应用的详细阐述: 1. **基本概念**:正则表达式由字符和特殊符号组成,如`.`代表任意字符,`*`表示前面的...

    c#,正则表达式,源代码

    #### 二、字符串类型的正则表达式 1. **匹配固定长度的字符**: - 正则表达式:`"^.{{3}}$"` - 示例解释:这里`3`指定了字符串的长度为3,例如`abc`。 2. **匹配英文大写字母组成的字符串**: - 正则表达式:`...

    正则表达式之道.doc

    - **使用正则表达式**: `grep -E 'pattern' file`,其中`-E`标志表示使用扩展正则表达式。 **3. sed 流编辑器** - **模式替换**: `sed 's/pattern/replacement/' file`可以实现模式替换。 - **多行操作**: `sed '/...

Global site tag (gtag.js) - Google Analytics