如何使用正则表达式找到除某些短语之外的所有内容?

2024-01-02

好的,所以我有一个短语“foo bar”,我想找到除“foo bar”之外的所有内容。
这是我的文字。

ipsum dolor foo bar Lorem ipsum dolor sat amet,
脂肪精英协会
eiusmod tempor foo bar incididunt ut Labore et
多洛·福酒吧

有一种方法可以在正则表达式中做到这一点,对吗?我不必去使用字符串等,不是吗?

RESULT:

注意我无法很好地突出显示,但粗体可以给您一个想法(尽管之前和之后的空格也会被选择,但它会破坏粗体)。

痛苦的事 foo bar Lorem ipsum dolor 坐 amet,
脂肪精英协会
时间模式 foo bar 劳动等事件
dolore foo bar

假设 PCRE 命名法。


2013 年 7 月 29 日更新:最好使用您选择的语言中的搜索和替换功能来“删除”您不需要的短语,这样您就可以得到您想要的信息。


一般来说,如果foobar匹配自身,那么(?s:(?!foobar).)*匹配任何东西not foobar,包括什么都没有。

你可以用它来查找没有的行foobar在其中,例如,使用

^(?:(?!foobar).)*$

您也可以使用您的语言split()分割函数on foobar,这会给你所有的部分not包括分割模式。

关于令人讨厌的鲜为人知的回溯控制动词,例如(*FAIL) and (*COMMIT),我还没有太多机会在​​“非玩具”程序中使用它们。我发现独立的子表达式通过(?>...)和所有格量词*+, ++, ?+等等,可以这么说,给我足够多的绳子。

也就是说,我确实有一个使用的玩具示例(*FAIL) in 这个答案 https://stackoverflow.com/questions/4092348/in-perl-how-can-i-generate-an-array-with-random-values-without-using-a-loop/4092746#4092746;这是第一个正则表达式解决方案。它存在的原因是我想强制正则表达式引擎回溯所有可能的排列;真正的目标只是计算它尝试了多少种方法。

请理解,我的两个正则表达式,以及其他人提供的许多非常有创意的答案,都是为了有趣、半开玩笑的。尽管如此,一can一旦一个人从震惊中恢复过来,就可以从他们身上学到很多东西。 ☺

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用正则表达式找到除某些短语之外的所有内容? 的相关文章

  • python中匹配3个或更多相同的字符

    我正在尝试使用正则表达式在字符串中查找三个或更多相同的字符 例如 你好 不匹配 噢 会的 我尝试过做类似的事情 re compile 1 3 a zA Z re compile w 1 5 但似乎都不起作用 w 1 2 是您正在寻找的正则表
  • 如何提取括号(圆括号)之间的文本?

    我有一根绳子User name sales 我想提取括号之间的文本 我该怎么做 我怀疑子字符串 但我无法弄清楚如何阅读 直到右括号 文本的长度会有所不同 如果您希望远离正则表达式 我能想到的最简单的方法是 string input User
  • C# 正则表达式模式从给定字符串中提取 url - 不是完整的 html url,而是裸链接

    我需要一个正则表达式来执行以下操作 Extract all strings which starts with http Extract all strings which starts with www 所以我需要提取这2个 例如 下面有
  • PHP使用正则表达式查找字符串

    我已经阅读了多个有关正则表达式的教程 但它只是不会留在我的脑海中 我永远无法让我的模式发挥作用 希望有人能帮忙 我有一个 php 变量 content 我需要在其中找到如下所示的特定模式 图库 名称 文件夹 我想搜索 starting wi
  • 使用 Perl 计算字符串中的连续字符数

    我有一个包含多个连续字符序列的字符串 例如 aaabbcccdddd 我想将其表示为 a3b2c3d4 到目前为止 我已经想出了这个 usr bin perl str aaabbcccdddd str s 1 1 g print str n
  • 使用正则表达式解析日志文件

    我目前正在为我们的内部日志文件 由 log4php log4net 和 log4j 生成 开发一个解析器 到目前为止 我有一个很好的正则表达式来解析日志 除了一个烦人的一点 一些日志消息跨越多行 我无法正确匹配 我现在的正则表达式是这样的
  • 正则表达式文字-文本范围

    有什么方法可以向正则表达式指示要显式搜索的文本块吗 我问这个问题是因为我必须匹配一段非常非常长的文本 其中包含各种元字符 并且 并且必须完全匹配 然后是一些灵活的内容 足以值得使用正则表达式 然后是更多文本必须完全匹配 冲洗 重复 不用说
  • Ruby Regex 舍入尾随零

    我正在寻找一个正则表达式来删除十进制数字中的尾随零 它应该返回以下结果 0 0002300 gt 0 00023 10 002300 gt 10 0023 100 0 gt 100 1000 gt 1000 0 0 gt 0 0 gt 0
  • NGINX hashbang 重写

    我想知道 hashbang url 的位置或重写 nginx 指令会是什么样子 基本上像前端控制器一样通过 hashbang 路由所有非 hashbanged url 所以 http example com about staff 将路由至
  • PHP:检查任何基于拉丁语的语言中的字母字符?

    使用 PHP 我想检查一个字符串仅包含字母字符 我不想允许任何数字或特殊字符 例如 ctype alpha 对于这个目的来说似乎很棒 问题是我想允许重音字母 例如法语等 例如 我想允许 L rien 我知道ctype alpha 可以与se
  • 用于验证 InetSocketAddresses 的正则表达式(ipv4/v6 + 端口地址)

    我在寻找testedipv4 和 ipv6 的正则表达式InetSocket地址 http download oracle com javase 6 docs api java net InetSocketAddress html toSt
  • Bash - 在 perl 正则表达式中使用变量以及匹配组

    这是我在 stackoverflow 上的第一篇文章 如果我错过了一些重要的内容 请原谅我 我目前遇到以下问题 目标是根据我准备的文件列表动态替换端口号find 这些文件中的所有端口均以数字 4 开头 有 5 位数字 现在是棘手的部分 我只
  • 正则表达式最小值4 个字符,最多 11 个,允许空格和特殊字符

    我在 RegularExpressionValidator NET 控件上有一个正则表达式 w 4 11 工作正常 它允许字符串长度在 4 到 11 之间 我希望它允许空格和特殊字符 例如 丹麦语字符 有什么建议么 怎么样 4 11 或者只
  • ASP.NET MVC 6 中的属性路由正则表达式约束错误

    我添加以下路由属性 HttpGet Route add Route id int inn regex 0 9 incBalance range 0 1 dateSet datetime dateNext datetime public IA
  • 被一个简单的正则表达式难住了

    我想看看字符串是否s包含正则表达式中的任何符号 下面的正则表达式可以正常工作rubular http rubular com s asd d s 但在 Ruby 1 9 2 中 它给出了以下错误消息 syntax error unexpec
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • 递归BBCode解析

    我正在尝试解析脚本中的 BBCode 现在 它可以无缝工作 直到我尝试缩进不仅仅是粗体或下划线的 BBCode 例如剧透 网址 字体大小等 然后它就会搞砸 这是我的代码 function parse bbcode text global d
  • 使用 .htaccess 重定向到动态相对路径?

    是否可以使 htaccess 理解 动态相对路径并正确重定向到它们 我的设置如下 http domain com htroot aaa xyz http domain com htroot bbb xyz http domain com h
  • C# 正则表达式用于查找 中具有特定结尾的链接

    我需要一个正则表达式模式来查找字符串 带有 HTML 代码 中的链接 以获取文件结尾如 gif 或 png 的链接 示例字符串 a href site com folder picture png target blank picture
  • 如何使用 php 从字符串中提取日期

    我需要从字符串中提取日期 下面是我的代码和字符串 str Updated status to Masters Software Engineering Enrolled Documents to Send on 03 06 2014 14

随机推荐