Ruby正则表达式提取电子邮件地址没有检测到HYRING
尝试查看其他人正在使用的正则表达式,但由于某种原因,它不适用于我。Ruby正则表达式提取电子邮件地址没有检测到HYRING
我只是基本上有一个字符串,如“[email protected]”,它只会提取[email protected]而不是整个事情。
这是我有:
regex = Regexp.new(/\b[a-zA-Z0-9._%+-,][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/)
email = line.scan(regex)
任何帮助将不胜感激。
连字符需要转义为位于字符类内部的位置。
[a-zA-Z0-9._%+\-,]+
^
(+-,
)当前在范围内的字符类的和,
之间+
内部连字符具有特殊含义相匹配的单个字符。您可以将连字符作为课程的第一个或最后一个字符。在一些正则表达式实现中,你也可以直接放在范围之后。如果你把连字符放在其他任何地方,你需要在它前面加一个反斜线,以便将它添加到你的类中。
我试图转义它,但最终我得到另一个错误,试图解析另一个电子邮件地址。 – LewlSauce 2014-09-19 18:10:23
它不会被“regex = ...”行解析。这里是错误:/root/scripts/test.rb:27:in'
你的错误是'[”[email protected]“]'。你不能在'''''' – hwnd 2014-09-19 18:15:12
'+ - ,'匹配'+'到',' – 2014-09-19 18:00:39
范围内的所有字符,它们在ASCII码中相互跟随时只是'+'和','! – Vache 2014-09-19 18:00:44