我有一个类似于"<luke@example.com>"
的电子邮件字符串
我想使用正则表达式删除"<"
和">"
,所以我想要像
"<luke@example.com>".sub /<>/, ""
问题很清楚,/<>/
并没有包装我想要的东西。我尝试使用不同的正则表达式,但我不知道如何选择<
和>
,它是否有任何操作符,我可以说:&#34;包装这个和这个&#34 ;
答案 0 :(得分:4)
如上所述,您的正则表达式仅匹配文字子字符串"<>"
。您需要使用[]
将它们设为一个字符类,以便它们单独匹配,并gsub
替换所有匹配项:
"<luke@example.com>".gsub(/[<>]/, "") # => "luke@example.com"
答案 1 :(得分:1)
"<luke@example.com>".gsub /[<>]/, ""
答案 2 :(得分:1)
如果您只想剥离&lt;和&gt;从开始和结束仅,您可以使用:
'<luke@example.com>'.sub(/\A<([^<>]+)>\z/, '\1')
答案 3 :(得分:0)
你不需要,也不应该使用正则表达式。
string[1..-2]
就够了。