zoukankan      html  css  js  c++  java
  • 正则表达式

    一. 正则表达式

      正则表达式是对字符串操作的一种逻辑公式. 一般啊使用正则表达式对字符串进行匹配和过滤.

      优点: 灵活, 功能性强, 逻辑性强

      缺点: 上手难, 一旦上手, 就会爱上这个东西

      正则表达式由普通字符和元字符组成, 普通字符包含大小写字母, 数字, 在匹配普通字符的时候直接写就可以了, 重点在元字符上.

      元字符: 元字符是正则表达式的灵魂.

      1. 字符组

        字符组很简单, 用[] 括起来, 在[]中出现的内容就会被匹配. 如果字符组中的内容过多可以使用-, 比如, [a-z]匹配a-z之间的所有字母, [0-9]匹配所有阿拉伯数字.

      2. 简单元字符

        基本的元字符, 一大堆, 常用的如下:

        .     匹配除换行符以外的任意字符

        w  匹配字母或数字或下划线

        s   匹配任意空白符

        d   匹配数字

            匹配一个换行符

             匹配一个制表符

           匹配一个单词的结尾

        ^    匹配字符串的开始

        $    匹配字符串的结尾

        W  匹配非字母或数字或下划线

        D  匹配非数字

        S  匹配非空白符

        a|b   匹配字符a或字符b

        ()   匹配括号内的表达式, 也表示一个组

        [...]   匹配字符组中的字符

        [^...] 匹配除了字符组中字符的所有字符

      3. 量词

        *  重复零次或更多次

        +  重复一次或更多次

        ?  重复零次或一次

        {n}  重复n次

        {n, } 重复n次或更多次

        {n , m}  重复n到m次

      4. 惰性匹配和贪婪匹配

        在量词中的*, + , {} 都属于贪婪匹配, 就是尽可能多的匹配到结果

        在使用.*后面如果加了?, 则是尽可能的少匹配, 表示惰性匹配

        .*?x 的特殊含义是找到下一个x为止

      5. 分组

        在正则中使用()进行分组

      6. 转义

        前面加r

    作者:凯旋.Lau
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    小程序模板template问题记录
    datepicker 组件 的坑
    js实现 throttle 和 debounce
    vuex简单使用
    webpack 打包图片 缺失问题
    invalid prop `current` of type `string` supplied to `pagination`, expected `
    HTML5自定义属性之data-*
    vue组件传值方式介绍
    解决github.com 打不开问题
    git密令使用
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/9767505.html
Copyright © 2011-2022 走看看