工作记录-------正则表达式---小白也能看懂

2024-01-10 12:03:42

什么是正则表达式

正则表达式是一种强大的工具,用于匹配和识别文本模式。
下面是一个基本的介绍:

  1. ^ 和 $:

这些是锚定字符,分别匹配字符串的开头和结尾。例如,^Hello匹配以 “Hello” 开头的字符串,end$匹配以 “end” 结尾的字符串。

  1. .: 点号匹配任何单个字符(除了换行符 \n)。

  2. [ ]: 方括号内放置字符集合,匹配其中任何一个字符。比如,[abc]匹配字符 ‘a’、‘b’ 或 ‘c’ 中的任意一个。

  3. [^ ]: 方括号内的 ^ 放在开头时,表示取反,匹配除了方括号内字符之外的任何字符。

  4. \d, \w, \s: 分别匹配数字、字母数字下划线(单词字符)、空白字符(空格、制表符等)。

  5. \D, \W, \S: 这些是对应小写字符的反义,匹配非数字、非单词字符、非空白字符。

  6. \b, \B: 单词边界(单词开头或结尾)和非单词边界。

  7. { }, *, +, ?: 用于指定重复次数。

    • {n}:匹配前面的元素恰好 n 次。
    • {n,}:匹配前面的元素至少 n 次。
    • {n,m}:匹配前面的元素至少 n 次,最多 m 次。
    • *:匹配前面的元素零次或多次。
    • +:匹配前面的元素一次或多次。
    • ?:匹配前面的元素零次或一次(可选)。
  8. |: 管道符表示“或”的意思,匹配两个模式之一。比如,cat|dog匹配 “cat” 或 “dog”。

  9. ( ): 用于创建捕获组,可以提取匹配的部分。

这些是正则表达式中常用的一些基本元素,结合它们可以构建复杂的模式来匹配各种文本。

举例:正则表达式—手机号码
这段代码是一个用来验证手机号码格式的正则表达式。让我们来解释一下它的结构和含义:

public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";
  1. ^: 正则表达式的开始位置锚定,用于匹配字符串的开头。
  2. 1: 匹配手机号码的开头,中国手机号码通常以1开头。
  3. ([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89]): 这部分是手机号码的第二位数字的模式匹配。它是一个分组,匹配了不同开头的手机号码数字规则。
    • [38][0-9]: 匹配以3或8开头的数字后接任意数字。
    • 4[579]: 匹配以4开头的数字后接5、7、或9中的一个数字。
    • 5[0-3,5-9]: 匹配以5开头的数字后接0到3之间的数字或5到9之间的数字。
    • 6[6]: 匹配以6开头的数字后接6。
    • 7[0135678]: 匹配以7开头的数字后接0、1、3、5、6、7、8中的一个数字。
    • 9[89]: 匹配以9开头的数字后接8或9。
  4. \\d{8}: 表示接下来应该匹配8个数字。\\d 表示任意数字,{8} 表示前面的模式(这里是数字)重复出现8次。
  5. $: 正则表达式的结尾位置锚定,用于匹配字符串的结尾。

这个正则表达式是用来验证中国大陆手机号码格式的,匹配规则是以1开头,并且符合国内手机号码的第二位规定,接着后面是8个数字。

文章来源:https://blog.csdn.net/qq_51711443/article/details/135498183
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。