正则表达式
字符类:包括单个字符和字符范围。例如:
- "a"匹配字符"a"
- "[abc]"匹配"a"、"b"或者"c"中的任意一个字符
- "[a-z]"匹配从"a"到"z"的任意一个小写字母
量词:用于指定前面的字符或字符组出现的次数。
- "*"表示前面的字符可以出现0次或多次
- "+"表示前面的字符至少出现1次
- "?"表示前面的字符最多出现1次
锚点:用于指定匹配的位置
- "^"表示匹配行首
- "$"表示匹配行尾
- "^abc"表示匹配以"abc"开头的行
- "abc$"表示匹配以"abc"结尾的行
分组:使用括号"()"来分组
- "(ab)+"表示"ab"这个组合至少出现1次
- 分组还可以用于提取匹配的子字符串等操作
def main(args: Array[String]): Unit = {
val reg ="\b1[3589]\d{9}".r
val source="13694832445 13456788765"
reg.findAllIn(source).foreach(println)
}
val reg ="^1[3589]\d{9}$".r
println(reg.matches("13512345678"))
println(reg.matches("135123456789"))