我希望在 @ 和:之间处理和发送文字,例如没有任何空格 @rstat :. 我想形成一个正则表达式来处理这个问题。 我已经尝试了 ^ @。[A-z0-9 _]。:$ ,但它无效。
请在这里帮助我。
答案 0 :(得分:3)
^@.[A-z0-9_].:$
模式匹配字符串的开头(^
),然后是@
,然后是任何字符(.
),然后是字母,数字,{{ 1}},_
,`
,[
,\
,]
,然后再添加任何字符,^
和字符串结尾( :
)。因此,它可以匹配一个@§`‘:
字符串。
您可以像这样使用 stringr $
str_extract_all
如果您必须检查str_extract_all(x, "(?<=@)[^\\s:]+")
状态,请添加前瞻检查:
:
请参阅regex demo。
<强>详情
str_extract_all(x, "(?<=@)[^\\s:]+(?=:)")
^^^^^
- 字符串中紧邻(?<=@)
符号@
- 1个或更多(由于[^\\s:]+
)字符而不是空格和+
:
- 一个积极的前瞻,需要在当前位置的右侧立即显示(?=:)
。