用于排除字符模式的Regex帮助

用于排除字符模式的Regex帮助,regex,Regex,我有一个常用词的列表。我写了一个regex.*e[^e]来包含带“e”的单词,但不包括带“ee”的单词。不知怎的,它没能把他们排除在外。也尝试过。*e[^e]{1},但没有效果 救命啊 如果您有权访问R,那么解决方案相当简单: 如果这是您的数据: data <- c("cheese", "chess", "dog", "freeze", "empty", "cat") 如果您只想保留包含“e”的单词,可以执行以下操作: data2 <- grep("e", data1, inver

我有一个常用词的列表。我写了一个regex.*e[^e]来包含带“e”的单词,但不包括带“ee”的单词。不知怎的,它没能把他们排除在外。也尝试过。*e[^e]{1},但没有效果


救命啊

如果您有权访问R,那么解决方案相当简单:

如果这是您的数据:

data <- c("cheese", "chess", "dog", "freeze", "empty", "cat")
如果您只想保留包含“e”的单词,可以执行以下操作:

data2 <- grep("e", data1, invert = F, value = T)
[1] "chess" "empty"

data2什么工具/风格?尝试
\b(?!\w*ee)\w*e\w*
“eez”
将匹配
“ez”
-
e
,然后是非e(
z
)您能给我们看一些示例数据吗?来自:“由于正则表达式不是完全标准化的,因此带有此标记的所有问题还应包括一个指定适用编程语言或工具的标记。“我正在使用带有regex find and replace的文本编辑器。在我上面的表达式中,像“free”这样的词应该被排除在外,但它不是。
cat
dog
中没有
e
,这里的任务是提取具有单个
e
而不是双
ee
的词。顺便说一句,这个问题只加了regex,而不是R.@WiktorStribiżew。OP说他/她有一个常用词列表;这包括任何类型的词,有或没有“e”。当解决方案非常简单时,为什么不鼓励一些人(没有致力于任何口味/引擎)使用R呢?
data2 <- grep("e", data1, invert = F, value = T)
[1] "chess" "empty"