object t24 {
def main(args: Array[String]): Unit = {
//定义一个正则表达式
//1. [ab]:表示匹配一个字符,或者是a或者是b
//2. [a-z]:表示从a到z的26个字母中的任意一个
//3. [A-Z]:表示从A到Z的26个字母中的任意一个
//4. [0-9]:表示从0到10中的任意一个
//4.1 [^ab]:表示匹配一个字符,除a,b之外的
//5. {11}:表示前面的字符能出现11次
//6. 脱字符 ^ 如果在正则的最前面,表示:要匹配的内容必须在字符串的开头
//7. 脱字符 $ 如果在正则的最后面,表示:要匹配的内容必须在字符串的结尾
//8. 英文的.: 表示除了换行之外的其他的任意一个字符
//9. \d:表示0-9的一个数字
//10. \D:表示 除 \d 之外的字符
//11. \w:[a-zA-Z0-9_] 63个字符中的任意一个.“一个字”
//12. \W:表示 除 \w 之外的字符
//13. \s:表示 空格
//14. \S:表示 除 \s 之外的字符
//15. 量词
//15.1 *:表示 >=0
//15.2 +:表示 >=1
//15.3 ?:表示0次或者1次
//15.4 {11}:恰好11次
//15.5 {3,5}:至少3次,最多5次
//15.6 {3,}:至少3次,最多不限
//贪婪模式
//正则匹配默认是贪婪模式的
//16. ? 非贪婪模式。加在量词的后面
// val reg1 = "[A-Z0-9]".r
// val reg1 = "[0-9]{11}".r //找手机号
val reg1 = "\\s".r
//在如下字符串中 查找 满足正则表达式要求的内容
// val str = "i am abc"
// //找到的一个满足条件的
// val rs = reg1.findFirstIn("i am abc")
// if(!rs.isEmpty){
// println("找到的是:",rs.get)
// }
//找全部的
// reg1.findAllIn("小花:13612345678,小明:1234568974,邮编:433100").toList.foreach(println)
reg1.findAllIn("i am abc a!c a!!c 1 2 3 A _ -").toList.foreach(println)
}
}
Scala中的正则表达式
于 2024-12-03 16:03:37 首次发布