首页 > 解决方案 > 如何在纯 ERE 正则表达式中否定一个词

问题描述

有可能negateword纯的ERE regex (POSIX.2 Extended Regular Expressions)吗?

似乎可以negate a character or class使用^as[^ab]来否定either字符a b,但如何使用negate a wordas ab( andnot either)?

如果我有一个具有以下值的变量:

week="Monday|Tuesday|Wednesday|Thursday"

是否可以提取week没有的所有内容Tuesday以获得结果:

week="Monday|Wednesday|Thursday"

问候

标签: regex

解决方案


你不能用任何正则表达式引擎否定一个词。

一次只能匹配一段连续的文本。因此,在通过正则表达式运行字符串后,您无法获得Monday|Wednesday|Thursday完全匹配。

如果你想跳过一个单词,你通常会从字符串中删除它。检查您的环境是否提供替换功能。

此外,有时,可以将字符串与要跳过的字符串拆分。检查您的环境中是否存在拆分支持。


推荐阅读