当前位置: 首页 > 面试题库 >

正则表达式以匹配非特定子字符串的内容

空英达
2023-03-14
问题内容

我正在寻找一个正则表达式,它将匹配以一个子字符串开头但不以某个子字符串结尾的字符串。

例:

// Updated to be correct, thanks @Apocalisp
^foo.*(?<!bar)$

应该匹配以“ foo”开头但不以“ bar”结尾的任何内容。我知道[^ …]语法,但是找不到任何可以对字符串而不是单个字符执行此操作的东西。

我专门尝试针对Java的正则表达式执行此操作,但是我之前曾遇到过此问题,因此其他正则表达式引擎的答案也将非常有用。

感谢@Kibbee验证它也可以在C#中工作。


问题答案:

我认为在这种情况下,您需要在 后面进行否定查找 ,如下所示:

foo.*(?<!bar)


 类似资料:
  • 问题内容: 我想搭配以下 com.my.company。 moduleA .MyClassName com.my.company。 moduleB .MyClassName com.my.company。 anythingElse .MyClassName 但 不是 以下 com.my.company。 核心 .MyClassName 我当前的简单正则表达式模式是: 因此,基本上,我该如何匹配其他

  • 我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我

  • 我想解析以下字符串: 我正在使用,所以我这里缺少的是正确的正则表达式。规则是正则表达式必须: 隔离任何单个单词 任何用双引号括起来的子字符串都是匹配的 单词中的双引号必须忽略(稍后我将用空格替换它们)。 因此,结果匹配应该是: < li>w1 w"2 < li>w3 < li>| < li>w4 < li>w"5 < li>w6 w7 双引号是否包含在双引号括起来的子字符串中是无关紧要的(例如,1

  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 问题内容: 在正则表达式中匹配非ASCII字符的最简单方法是什么?我想在输入字符串中单独匹配所有单词,但是语言可能不是英语,因此我需要匹配ü,ö,ß和ñ。另外,这是在Javascript/ jQuery中,因此任何解决方案都需要适用于此。 问题答案: 应该这样做: 它匹配ASCII字符集(0-127,即0x0至0x7F)中不包含的任何字符。 您可以使用Unicode执行相同的操作: 对于unico