正则表达式 – 如何从Scala中的较大字符串中提取有效的电子邮件
发布时间:2020-12-14 06:03:52 所属栏目:百科 来源:网络整理
导读:我的 scala版本2.7.7 我试图从更大的字符串中提取电子邮件地址.字符串本身不遵循任何格式.我得到的代码: import scala.util.matching.Regeximport scala.util.matching._val Reg = """b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b""".r"yo my name is joe :
我的
scala版本2.7.7
我试图从更大的字符串中提取电子邮件地址.字符串本身不遵循任何格式.我得到的代码: import scala.util.matching.Regex import scala.util.matching._ val Reg = """b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b""".r "yo my name is joe : joe@gmail.com" match { case Reg(e) => println("match: " + e) case _ => println("fail") } 正则表达式在RegExBuilder中传递但不传递scala.另外,如果有另一种方法来做这个没有正则表达式也可以.谢谢! 解决方法
正如Alan Moore指出的那样,你需要将(?i)添加到模式的开头以使其不区分大小写.另请注意,使用正则表达式直接匹配整个字符串.如果要在较大的字符串中找到一个,可以调用findFirstIn()或使用Regex的类似方法之一.
val reg = """(?i)b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b""".r reg findFirstIn "yo my name is joe : joe@gmail.com" match { case Some(email) => println("match: " + email) case None => println("fail") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |