• 正则表达式练习 壹


    练习网站:Regex Golf (alf.nu)

    我太菜了,做到第十道题就觉得难了,说来惭愧,第十道都卡了好久。

    Warmup

    答案:foo

    思路:第一题没什么说的。

    Anchors

    答案:ick$

    思路:匹配结尾为ick的

    It never ends

    答案:u(?!.)

    思路:这道题不能使用$,所以换个写法,匹配u且u后面不包括其他任何字符

    Ranges 

    答案:[a-f]{4,}

    思路:就是直接匹配所有字符,并且都要在a-f这个范围

    Backrefs

    答案:(...).*\1

    思路:先匹配三个,然后在后面再匹配第一个标记

    Abba 

    答案:^(?!.*(.)(.)\2\1)

    思路:用(.)(.)匹配到前面两个,比如abba,他将会匹配到ab,然后\2\1就是ba,就匹配上了不需要匹配的,然后加上.*就可以匹配到整个不需要匹配的单词了,然后再用?!取反,现在需要匹配的就可以匹配上了,最后给里面的标记,匹配开头,就好了

    A man, a plan

    答案:^(.)(.).*\2\1$

    思路:这个其实就是第一位跟倒数第一位第二位跟倒数第二位相同的

    Prime 

    答案:^(?!(..+)\1+$)

    思路:这个的规律就是左边的都是单数右边的都是双数,匹配双数然后取反就好了

    Four 

    答案:(.).\1.*\1.\1

    思路:先匹配到xyx这种的,标记第一个的x,然后再匹配x.x就好了

    Order 

    答案:^.{5}[^e]?$

    思路:这个其实就是规律难找,我找了好久都没找到规律,然后后面发现了其实左边第二个字母在字母表中会在第一个字母后面,以此类推,这个实现有点难,就找第二个规律,就是先匹配5个,然后第六个不能是e,只能为空或者其他字符,同时第六个也是最后一位数

  • 相关阅读:
    JavaScript高级程序设计:第十二章
    JavaScript高级程序设计:第九章
    PageHelper的使用方法
    dbutils的环境搭建以及使用
    Spring的xml中引入其他文件
    Spring AOP
    SpringMVC拦截器
    中文乱码的过滤器
    SpringMVC的处理器全局异常处理类
    SpringMVC返回一个JSON对象到界面
  • 原文地址:https://www.cnblogs.com/zhoulei0517/p/15797446.html
Copyright © 2020-2023  润新知