The regular expressions are useful in finding the patterns in the data. These operations are basically used to find and replace operations performed on the string. In Scala, a string is changed into a regular expressing by using the .r method. (.r) is denoted as Regex that is used for text parsing and present in scala. util.matching package.
The following is an example of a regular expression pattern in which we will use Regex(regular expression) to make sure a password contains a number. Download the program and run it from the Scala shell.
import scala.util.matching.Regex
val regularexp: Regex = "[0-9]".r
regularexp.findFirstMatchIn("awesomepassword") match {
case Some(_) => println("Password OK")
case None => println("Password should contain a number")
}
Output
Click Here To Download Code File.
Scala Regular Expressions
The following is the list of regular expression operators that are supported in Scala.
Expression | Actions |
---|---|
^ | This expression matches the beginning of the line. |
$ | This expression matches the end of the line. |
. | It matches any of the single characters beside newline. |
[...] | This expression matches any single character in brackets. |
[^...] | This expression matches any single character, not in brackets. |
\\A | Beginning of the entire string. |
\\z | End of the entire string. |
\\Z | It represents the end of the entire string. |
re* | This expression matches 0 or more occurrences of the preceding expression. |
re+ | This expression matches 1 or more of the previous thing |
re? | It matches 0 or 1 event of the expression. |
re{ r} | This expression matches exactly r number of occurrences of the preceding expression. |
re{ y,} | This expression matches y or more occurrences of the preceding expression. |
re{ y, z} | This expression matches at least y and at most z occurrences of the preceding expression. |
a|b | This expression matches either a or b. |
(re) | This expression Groups regular expressions and remembers matched text. |
(?: re) | This expression Groups regular expressions without remembering matched text. |
(?> re) | This expression matches an independent pattern without backtracking. |
\\w | This expression matches word characters. |
\\W | This expression matches nonword characters. |
\\s | This expression matches whitespace. Equivalent to [\t\n\r\f]. |
\\S | This expression matches non-whitespace. |
\\d | This expression matches digits. Equivalent to [0-9]. |
\\D | This expression matches non-digits. |
\\A | This expression matches the beginning of the string. |
\\Z | This expression matches the end of the string. |
\\z | This expression matches the end of the string. |
\\G | It indicates the point where the last match was finished. |
\\n | Back-reference to capture group number "n" |
\\b | This expression matches word boundaries when outside brackets. Matches backspace (0x08) when inside brackets. |
\\B | This expression matches nonword boundaries. |
\\n, \\t, etc. | This expression matches newlines, carriage returns, tabs, etc. |
\\Q | This expression is used to quote all characters till \\E. |