gpt4 book ai didi

regex - 检查当前单词之前是否有多个单词

转载 作者:行者123 更新时间:2023-12-01 12:39:16 25 4
gpt4 key购买 nike

我有以下风格的字符串:

Random Inc
A Non-Random Inc

我想从所有这些字符串中删除 Inc 这个词,因为它前面有一个以上的词。上面两个例子的结果是:

Random Inc
A Non-Random

插入 gsub 的正确正则表达式是什么?特别是,如何在正则表达式中指定完整的单词?我以为它会是 \w 但这是一个看起来不正确的单词字符。

最佳答案

\w 匹配一个单词字符,但在这种情况下,您似乎需要考虑连字符并使用 quantifier .

x <- c('Random Inc', 'A Non-Random Inc', 'Another Inc', 'A Random other Inc')
sub('[\\w-]+ [\\w-]+\\K *Inc', '', x, perl=TRUE)
# [1] "Random Inc" "A Non-Random" "Another Inc" "A Random other"

首先,我们匹配单词字符的任何字符,连字符“一个或多个”次,然后是空格,然后是单词字符,连字符“一个或多个”次。 \K 转义序列重置报告匹配的起点,并且不再包含任何先前使用的字符。然后我们匹配空格“零次或多次”后跟单词 Inc。由于我们使用 \K,我们使用空替换,因为 \K 充当零宽度断言。

关于regex - 检查当前单词之前是否有多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26539391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com