Ruby正则表达式:运算符和

时间:2014-05-07 16:11:32

标签: ruby regex

我有一个类似于"<luke@example.com>"的电子邮件字符串 我想使用正则表达式删除"<"">",所以我想要像

这样的内容
"<luke@example.com>".sub /<>/, "" 

问题很清楚,/<>/并没有包装我想要的东西。我尝试使用不同的正则表达式,但我不知道如何选择<>,它是否有任何操作符,我可以说:&#34;包装这个和这个&#34 ;

4 个答案:

答案 0 :(得分:4)

如上所述,您的正则表达式仅匹配文字子字符串"<>"。您需要使用[]将它们设为一个字符类,以便它们单独匹配,并gsub替换所有匹配项:

"<luke@example.com>".gsub(/[<>]/, "") # => "luke@example.com"

答案 1 :(得分:1)

"<luke@example.com>".gsub /[<>]/, ""

http://regex101.com/r/hP3sY2

答案 2 :(得分:1)

如果您只想剥离&lt;和&gt;从开始和结束,您可以使用:

'<luke@example.com>'.sub(/\A<([^<>]+)>\z/, '\1')

答案 3 :(得分:0)

你不需要,也不应该使用正则表达式。

string[1..-2]

就够了。