gpt4 book ai didi

regex - R正则表达式在@之后解析 token ,字符串中也没有其他 token

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

我在解析文本字符串中的地址时遇到问题。通常的地址将是“@address token token token”或“@address token token/ntoken”。

string <- c("@address token token token", "@address token token /ntoken")
gsub("^\\.?@([a-z0-9_]{1,25})[^a-z0-9_]+.*$", "\\1", string)

哪些被正确解析

[1] "address" "address"

然而,在某些情况下,地址将是字符串中的唯一标记,然后正则表达式将返回包含@的地址

string <- c("@address token token token", "@address token token /ntoken", "@address")
gsub("^\\.?@([a-z0-9_]{1,25})[^a-z0-9_]+.*$", "\\1", string)
# [1] "address" "address" "@address"

如何指示正则表达式也管理唯一 token 的情况?

最佳答案

in some circumstances the address will be the only token in the string, then regex will return the address including the @

因为在那种情况下没有匹配项。

稍作改动:

[^a-z0-9_]+ 转换为 [^a-z0-9_]? 使其可选

^\.?@([a-z0-9_]{1,25})[^a-z0-9_]?.*$

这里是 Online demo

关于regex - R正则表达式在@之后解析 token ,字符串中也没有其他 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946533/

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