Black monkey house: Scala regular expression

1, regular expressions, native expression

scala> val regex="""([0-9]+)([a-z]+)""".r
regex: scala.util.matching.Regex = ([0-9]+)([a-z]+)

scala> val numPattern="[0-9]+".r
numPattern: scala.util.matching.Regex = [0-9]+

scala> val numberPattern="""\s+[0-9]+\s+""".r
numberPattern: scala.util.matching.Regex = \s+[0-9]+\s+

Description: .r () method Introduction: Scala where the character string is converted to a regular expression
by You Follow A String with CAN .r, Turning IT INTO A RegexEg of.
"""A\w*""".rIS The Regular expression The identifiers for Starting with A.
def r: Regex = r()

2, a pattern matching

scala> val numPattern="[0-9]+".r
numPattern: scala.util.matching.Regex = [0-9]+

scala> for(m <- numPattern.findAllIn("99345 Scala,22298 Spark")) println(m)
99345
22298

findAllIn (...) function Introduction
// findAllIn () method returns an iterator to traverse all matches
def findAllIn (source: CharSequence) = new Regex.MatchIterator (source, this, groupNames)

3, pattern matching two

// find the first match

scala> val numPattern="[0-9]+".r
numPattern: scala.util.matching.Regex = [0-9]+

scala> println(numPattern.findFirstIn("88ss Java,333 Spark ,654 Hadoop"))
Some(88)

4, three pattern matching

scala> val numitemPattern="""([0-9]+) ([a-z]+)""".r
numitemPattern: scala.util.matching.Regex = ([0-9]+) ([a-z]+)

scala> val numitemPattern(num, item)="99 hadoop"
num: String = 99
item: String = hadoop

5, four pattern matching

A combination of numbers and letters // regular expression

scala> val numitemPattern="""([0-9]+) ([a-z]+)""".r
numitemPattern: scala.util.matching.Regex = ([0-9]+) ([a-z]+)

scala> val line="93459 spark"
line: String = 93459 spark

scala> line match{
     | case numitemPattern(num,blog)=> println(num+"\t"+blog)
     | case _=>println("hahaha...")
     | }
93459   spark

6, pattern matching five

object RegexSyllabus {
  def main(args: Array[String]): Unit = {

    import scala.util.matching.Regex

    val pattern1 = new Regex("(S|s)cala")
    val pattern2 = "(S|s)cala".r
    val str = "Scala is scalable and cool"
    println((pattern2 findAllIn str).mkString(","))
    println((pattern1 findAllIn str).mkString(","))

  }
}

Reproduced in: https: //www.jianshu.com/p/258b35f62465

Guess you like

Origin blog.csdn.net/weixin_34277853/article/details/91182547