• Articles
  • Tutorials
  • Interview Questions

Scala Regular Expressions for Beginners

What are Regular Expressions?

Regular expressions are patterns that permit you to “match” various string values in a variety of ways. Scala uses import scala.util.matching.Regex to implement regular expression concept.

A pattern is simply one or more characters that represent a set of possible match characters. In regular expression matching, you use a character or set of characters to represent the strings you want to match in the text. A regular expression is a way of describing a set of strings using common properties, for example, strings that start with an “A” and end with an exclamation mark.

Watch this Apache-Spark-Scala video

Video Thumbnail

Procedure

1. Change the string representation of a regular expression into a Pattern object;

2. Create a Matcher object from the object which is created in the first step that applies to a particular string;

3. Apply the various methods of the Matcher object to the particular string.

These steps can be expressed in Scala as follows:

import java.util.regex.{Pattern,Matcher}
. . . . . . . . . . . . . . . . . . . .
val i = Pattern.compile("regularExpression")
val j = i.matcher(String)
var foundMatch = j.find()

Certification in Bigdata Analytics

e.g.

import java.util.regex._
object HelloWorld {
def main(args: Array[String])  {
val p = Pattern.compile("i")
val m = p.matcher("intellipaat")
var found = false
while (m.find()) {
print("I found the text \""+ m.group())
print("\" starting at index " + m.start()+"\n")
found = true
}
if (!found)
println("No match found.")
}
}

Output

I found the text “i” starting at index 0

I found the text “i” starting at index 6

Course Schedule

Name Date Details
Big Data Course 14 Dec 2024(Sat-Sun) Weekend Batch View Details
21 Dec 2024(Sat-Sun) Weekend Batch
28 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Technical Research Analyst - Big Data Engineering

Abhijit is a Technical Research Analyst specialising in Big Data and Azure Data Engineering. He has 4+ years of experience in the Big data domain and provides consultancy services to several Fortune 500 companies. His expertise includes breaking down highly technical concepts into easy-to-understand content.