规则类型 |
具体规则 |
示例 |
说明 |
单字符 |
大多数字符匹配自身 |
正则表达式 abc ,文本 abc |
a 匹配 a,b 匹配 b,c 匹配 c |
方括号 [ ] |
[ ] 定义字符集,匹配其一 |
[abc] ,文本 a 、b 或 c |
[abc] 匹配 a、b 或者 c |
排除字符集 [^ ] |
[^ ] 开头加 ^,匹配排除字符 |
[^abc] ,文本 d |
[^abc] 匹配除 a、b、c 之外的字符,如 d |
. |
匹配除换行外单个字符 |
a.c ,文本 abc 、adc 等 |
. 可以匹配多种,只要中间是一字符即可 |
规则类型 |
具体规则 |
示例 |
说明 |
\d |
等价[0-9],匹配数字 |
\d(3),文本123、456 |
\d(3)匹配连续3个数字 |
\D |
等价[^0-9],匹配非数字 |
\D+,文本abc |
\D+匹配至少一个非数字字符,如abc |
\w |
等价[a-zA-Z0-9_],匹配相关字符 |
\w+,文本abc、abc123、abc_ |
\w+匹配对应字符串 |
\W |
等价[^a-zA-Z0-9_],匹配其他 |
\W,文本& |
\W匹配非字母数字下划线字符,如& |
\s |
匹配空白字符 |
a\sb,文本ab |
a\sb匹配含空白字符的字符串 |
\S |
匹配非空白字符 |
\S+,文本abc |
\S+匹配至少一个非空白字符,如abc |
Scala
复制代码
object test {
//正则表达式
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次
val reg1 = "\\W".r
// 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 之外的字符
//在如下字符串中 查找 满足正则表达式要求的内容
// val str = "i am abc"
// val rs = reg1.findFirstIn("i am abc abc")
// if(!rs.isEmpty){
// println("找到的是:",rs.get)
// }
//找全部的
reg1.findAllIn("i am abc a!c a!!c 1 2 3 A _ -").toList.foreach(println)
}
}