zoukankan      html  css  js  c++  java
  • 正則表達式基础笔记

    正則表達式就是用一个“字符串”来描写叙述一个特征,然后去验证还有一个“字符串”是否符合这个特征

    http://www.regexper.com/ 可将正則表達式转化成图形

    以下来看看正则的基本使用方法

    ^-匹配字符串的開始

    $-匹配字符串的结束

    eg: ^regex$匹配字符串regex

    d-匹配数字

    ?-反复0次或1

    *-反复0次或多次

    +-反复1次或多次

    {n}-反复n

    {n,}-反复n次或多次

    {n,m}-反复nm

    eg: d?匹配数字0次或1

    eg: d{5,}匹配数字5次或很多其它次

    [xyz]-匹配x、y或z

    eg: [123]匹配数字1、23

    eg: [0-9]匹配0-9的数字

    eg: [0-9]{5}匹配5个数字

    eg: [a-zA-Z0-9]匹配字母或数字

    eg: [a-zA-Z0-9]{5}匹配5个字母或数字或字母和数字的组合

    事实上

    ?等价于{0,1}

    *等价于{0,}

    +等价于{1,}

    d等价于[0-9]

    [xyz]仅仅能匹配单个元素,假设想匹配12、34怎么办呢?

    能够使用()

    ()-子表达式

    eg:(12|34)匹配12或34

    eg:^qq(d{5,11})?

    $匹配qqqq123456

    w-匹配字母、数字、下划线、汉字

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

    s-匹配空白符

    -匹配单词的開始或结束的位置

    W-匹配除字母、数字、下划线、汉字以外的字符

    S-匹配非空白符的字符

    D-匹配非数字的字符

    B-匹配非单词開始或结束的位置

    [^x]-匹配除x以外的随意字符

    [^xyz]-匹配除x、y、z以外的随意字符

    两个简单的样例:

    注冊账号时。账号仅仅能包括字母或数字,长度为5-10位:[a-zA-Z0-9]{5,10}

    通过http://www.regexper.com/将此正則表達式转化成图形


    简单的邮箱验证:^[^.@]+@[^.@]+.[a-z0-9]+$


  • 相关阅读:
    P1908 逆序对
    P3834 【模板】可持久化线段树 1(主席树)
    BZOJ 4300: 绝世好题
    Codevs 2185【模板】最长公共上升子序列
    P1439 【模板】最长公共子序列
    P3865 【模板】ST表
    【转】良心的可持久化线段树教程
    Codevs 1299 切水果
    P3388 【模板】割点(割顶)&& 桥
    P3805 【模板】manacher算法
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6699823.html
Copyright © 2011-2022 走看看