正则表达式的定义
正则表达式(Regular Expression)是一种用于匹配、查找和替换文本中特定模式的字符串。
它就像是一种文本模式的“配方”,可以让计算机根据这个“配方”在文本中找到符合要求的内容。
正则表达式的使用基本方式
object reg1 {
def main(args: Array[String]): Unit = {
// 1. 定义一个正则表达式
val reg = "apple".r // 在字符串的后边加.r
// 2. 调用它的方法 findFirstIn. 找到第一个匹配成功的结果
val rel = reg.findFirstIn("I like orange")
// 3. 输出结果
if(rel.isDefined){
println(rel.get)
} else{
println("没有匹配任何内容")
}
}
}
【总结正则表达式的使用步骤】 1. 定义匹配规则。写正则表达式
2. 定义数据,准备要匹配的内容。
3. 将字符串使用规则进行匹配。
常见规则
能匹配单个字符的规则
能匹配很多规则的字符
- \d 的应用
object reg2 {
def main(args: Array[String]): Unit = {
// 1. 定义一个正则表达式
val reg = "\d{11}".r // 在字符串的后边加.r
// \d: 匹配一个数字
// {11}: 表示前面的内容要匹配11次
// 2. 调用它的方法 findFirstIn. 找到第一个匹配成功的结果
// val rel = reg.findFirstIn("123ab4,5")
reg.findAllIn("我的手机号码是13995634246,请你记住. 17438284532").foreach(println)
}
}
- \w、^、 $的应用
object reg3 {
def main(args: Array[String]): Unit = {
// 验证合法的密码:只能由字母,数字,下划线构成,长度在6~10之间。
val reg = "^\w{6,10}$".r // 在字符串的后边加.r
// \w: 能匹配一个特殊的字符。 _ 、数字、小写字母、大写字母 中的某一个
// {6,10} 表示:这样的字符至少有6个,最多10个
// ^: 表示以此为开始
// $: 表示以此结尾
// 2. 调用它的方法 findFirstIn. 找到第一个匹配成功的结果
val rel = reg.findFirstIn("abc1234567890")
// 输出结果
if(rel.isDefined){
println("是一个合法的密码")
} else {
println("不是一个合法的密码")
}
}
}