Twitter 用户名的 R 中的正则表达式
Regular Expression in R for twitter username
我希望处理 @ 和 : 之间的文本,例如 space
@rstat:。
我想形成一个正则表达式来处理这个问题。
我试过 ^@.[A-z0-9_].:$ 但它不起作用。
请帮帮我。
^@.[A-z0-9_].:$
模式匹配字符串的开头 (^
),然后是 @
,然后是任何字符(.
),然后是字母、数字、 _
、`
、[
、\
、]
、^
,然后是任意字符,:
和结尾字符串($
)。因此,它可以匹配 @§`‘:
字符串。
您可以像这样使用 stringr str_extract_all
str_extract_all(x, "(?<=@)[^\s:]+")
如果您必须检查 :
是否存在,请添加先行检查:
str_extract_all(x, "(?<=@)[^\s:]+(?=:)")
^^^^^
参见regex demo。
详情
(?<=@)
- 字符串中紧跟 @
符号 的位置
[^\s:]+
- 1 个或多个(由于 +
)除空格和 :
以外的字符
(?=:)
- 正前瞻要求 :
紧邻当前位置的右侧。
我希望处理 @ 和 : 之间的文本,例如 space @rstat:。 我想形成一个正则表达式来处理这个问题。 我试过 ^@.[A-z0-9_].:$ 但它不起作用。
请帮帮我。
^@.[A-z0-9_].:$
模式匹配字符串的开头 (^
),然后是 @
,然后是任何字符(.
),然后是字母、数字、 _
、`
、[
、\
、]
、^
,然后是任意字符,:
和结尾字符串($
)。因此,它可以匹配 @§`‘:
字符串。
您可以像这样使用 stringr str_extract_all
str_extract_all(x, "(?<=@)[^\s:]+")
如果您必须检查 :
是否存在,请添加先行检查:
str_extract_all(x, "(?<=@)[^\s:]+(?=:)")
^^^^^
参见regex demo。
详情
(?<=@)
- 字符串中紧跟@
符号 的位置
[^\s:]+
- 1 个或多个(由于+
)除空格和:
以外的字符
(?=:)
- 正前瞻要求:
紧邻当前位置的右侧。