首页 > 其他 > 详细

今日份学习: 回顾一下 { 正则表达式 }

时间:2020-02-11 14:41:41      阅读:65      评论:0      收藏:0      [点我收藏+]

笔记

1. 什么是正则表达式?

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

2. 常用元字符

字符 含义
^ 开始位置
$ 结束位置
. 单个任意字符(不一定包含换行符)
\w 单个"word"字符:字母/数字/下划线/汉字
\s 单个空白字符(\n\r\t)
\d 单个数字字符
\b 单词的开始或结束

3. 重复

字符 含义
* 0次或多次
+ 1次或多次
? 0次或1次
{n} n次
{n,} >=n次
{n,m} n到m次

4. 选择

字符 含义
[aeiou] a/e/i/o/u字符的其中一个
[0-9] 单个数字字符
[A-Z] 单个大写字母
[A-Z0-9_] 大写字母或数字或下划线之一
Hi hi(或者[Hh]i)

5. 反义

字符 含义
[^aeiou] 除a/e/i/o/u之外的一个字符
[^字符] 非{字符}的一个字符
\W 非\w的单个字符
\S 非\s(空白)
\D 非\d
\B 非开头/结束位置

6. 转义

有的字符不可?,?法??个键来代表。
或者有的字符是特定的字符,需要转义才能使用原来的意思。

7. String类中的正则应用

String的三个常用的方法:

   public String[] split(String regex) {
        return split(regex, 0);
    }

    public String replaceAll(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceAll(replacement);
    }
    public String replaceFirst(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceFirst(replacement);
    }

    public boolean matches(String regex) {
        return Pattern.matches(regex, this);
    }

Java中的正则表达式比较昂贵。

  • 正则表达式需要解析
  • 匹配过程是回溯

一个知识点:匹配多行字符串

(?s) 代表可以匹配换行符

举个栗子

  • (?s).*巴拉巴拉\s+巴拉巴拉.*

今日份学习: 回顾一下 { 正则表达式 }

原文:https://www.cnblogs.com/pipemm/p/12294768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!