Scala中的正则表达式
正则表达式
正则表达式是用于创建模式的字符序列,该模式用于搜索和匹配字符串。
这些搜索模式在编程中用于检查给定字符串中是否存在模式或字符或字符串,以进行验证和检查。
在Scala中,使用r方法创建正则表达式(regex),该方法是Regex类的一种方法,该方法使用包scala.util.matching.Regex导入。
创建正则表达式的语法:
val regex = ""string".r
创建正则表达式的程序
object MyClass { def main(args: Array[String]) { var pattern = "@".r; println("Regular Expression :" + pattern) } }
输出:
Regular Expression : @
您可以检查字符串中是否存在正则表达式,并使用findAllIn方法,findFirstIn方法匹配模式。
检查字符串中是否存在正则表达式的程序
object MyClass { def main(args: Array[String]) { var pattern = "programming".r val string = "Hello! learn programming at inclduehelp.com" println((pattern findAllIn string).mkString(" ")) } }
输出:
Programming
在这里,我们使用了findAllIn方法来查找字符串中所有匹配的模式。该方法返回一个迭代器,因此要使用mkString方法将迭代器转换为字符串。
还有其他一些功能,例如findFirstIn,可用于在Scala中查找模式。
您还可以使用replaceFirstIn()和replaceAllIn()方法在Scala中替换字符串中找到的模式。
在Scala中创建正则表达式(regex)
在Scala中,我们可以使用java创建语法创建自己的正则表达式。有一些元字符语法可用于创建正则表达式,
示例:i*将检查'',i,ii,iii.。
示例:i+将检查i,ii,iii。
例如:我?将检查'',i。
示例:i{3}将检查iii。
示例:i{4,}将检查iiii,iiiii,iiiiii...
示例:i{2,4}将检查ii,iii,iiii。
现在,我们了解了用于在Scala中创建正则表达式的所有表达式。将此页面添加为书签,因为参考不是很容易记住,在Scala中使用字符串时,您需要将其参考回来。
让我们举几个例子,以使过程和上述表达式更清楚。
匹配10位数字-\\d{10}
匹配有效的电子邮件地址-(@[az]+。com)
在所有情况下的数学Scala-([Ss]cala(,)
?)+
匹配所有元音-[aeiouAEIOU]
匹配字符串中的非数字-[0-9]