首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

发现一个正则闯关的网站,可以玩一下

  •  1
     
  •   byron · 55 天前 · 8537 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://alf.nu/RegexGolf

    自己玩玩看,可以复习(锻炼)一下正则的很多语法及用法。
    94 回复  |  直到 2019-08-28 13:06:59 +08:00
        1
    nnnToTnnn   55 天前
    正则我就没输过,我看看我能闯第几关
        2
    f056917   55 天前
    学完就忘怎么办。。。?
        3
    nnnToTnnn   55 天前   ♥ 38
    尝试了一下,好了,以上当我没说
        4
    ipwx   55 天前
    "i dont know regex but i know javascript bitches"
        5
    JQZhang   55 天前
    不错,可以练习一下,学习学习
        6
    Jex   55 天前
        7
    ptrees   55 天前
    我的工作就是写正则,基本上用不到很复杂的...最复杂恐怕就是匹配多层嵌套的 json 格式里的值了,很多时候直接放弃
        8
    nznd   55 天前
    哇 我在这网站浪费了一下午 XSS PHP 都好有趣(然后打开 github 开始膜拜各种神奇操作
        9
    soulzz   55 天前
    <img src=" "/>
    我太难了 这题我不会啊
        10
    lihongjie0209   55 天前
    @soulzz #9 afoot|catfoot|dogfoot|fanfoot|foody|foolery|foolish|fooster|footage|foothot|footle|footpad|footway|hotfoot|jawfoot|mafoo|nonfood|padfoot|prefool|sfoot|unfool
        11
    rrfeng   55 天前   ♥ 7
    这题不叫『写正则』,叫『找规律』
        12
    Vegetable   55 天前
    @nnnToTnnn 3 分钟快男?
        13
    Vegetable   55 天前
    (afoot|catfoot|dogfoot|fanfoot|foody|foolery|foolish|fooster|footage|foothot|footle|footpad|footway|hotfoot|jawfoot|mafoo|nonfood|padfoot|prefool|sfoot|unfool)
        14
    annielong   55 天前
    最令人抓狂的就是正则,用起来真方便,写起来真难
        15
    liuxey   55 天前
    第一题就劝退,字符包含"foo"?
        16
    honjow   55 天前
    下面的是不是排行?用的字符越少越排前面?可是有些 0 啊 1 啊 tm 都是作弊的吧。。。
    人家都说那么明白了
    i dont know regex but i know javascript bitches #滑稽
        17
    AddictX   55 天前
    @lihongjie0209 然而只需要填“ foo ”就 OK 了,就是不知道排行榜上 1 个字符的那群人是怎么弄的。
        18
    nihaoaa   55 天前
    人生已经很难了,为什么还要做这种题增加难度
        19
    soulzz   55 天前
        20
    lihongjie0209   55 天前
    @soulzz #19 有限个数的直接枚举就好了, 还找规律干嘛。
        21
    sm0king   55 天前
    fo{2} ??
        22
    arrow8899   55 天前
    大家来找茬(文字版)??
        23
    junan008   55 天前
    \S?foo\S?
        24
    honjow   55 天前
    @AddictX 作弊啊。还有 0 的呢
        25
    AddictX   55 天前   ♥ 2
    @honjow 发现了,这回理解“ i dont know regex but i know javascript bitches ”的意思了。。。

    Warmup: foo
    Anchors: k$
    it never ends: fu\b
    Ranges: ^[a-f]+$
    Backrefs: (\w{3}).*\1

    不玩了,玩了一下午,就玩出了这点。Backrefs 还死活压不到 9 个字符,进不去排行榜。。。
        26
    canbingzt   55 天前
    @soulzz .*貌似可以不要,foo 就行
        27
    quadrapop   55 天前
    3 个全对到下一关?
        28
    shwomen1234fs   55 天前
    @soulzz 正则判断不包含 abba 类型的字符串 ^(?!.*?(.)(.)\2\1)
        29
    soulzz   55 天前
    @shwomen1234fs 大佬 nb
    我卡在正则表达式取反了
        30
    lc1450   55 天前
    ^(foo|fan|dog|cat|afo|hot|jaw|maf|non|pad|pre|sf|unfoo)
        31
    qqq8724   55 天前
    @AddictX (.{3}).*\1 少了一位 hhh
        32
    honjow   55 天前
    质数那个咋搞 ^(xx+?)\1+$能匹配非质数(也就是右边),那么怎么取反?
        33
    AX5N   55 天前   ♥ 2
    @AddictX
    Backrefs : (...).*\1
        34
    AddictX   55 天前
    @AX5N 卧槽,这是真没想到。。。
        35
    luzemin   55 天前
    题还没看完就 timeout 了
        36
    monkeyblog   55 天前
    \w*(foo)\w* 已过 想问下 V2EX 怎么发图片?必须先把图片上传个服务器?不能上传本地的?
        37
    Biwood   55 天前
    @qqq8724 我也在质数这里卡了好久,最开始我以为规律是质数,但是看到 2 这个数字脑抽一下否定了质数规律。
    刚刚看到你的回复有确认了一下确实是质数,按照质数的原理,这个题几分钟就解出来了。
    提示:借鉴 abba 那道题即可。
        38
    keith1126   55 天前
    有趣,正则好难
        39
    w99wen   55 天前
    foo
        40
    stcasshern   55 天前
    前五题:3 2 3 8 12,感觉很多取巧的方式。。。
        41
    aliipay   55 天前
    @AddictX 自己 post 数据,服务器没校验结果
        42
    byron   54 天前
    @honjow 负先行断言
        43
    byron   54 天前
    @stcasshern 第五题可以 9
        44
    byron   54 天前
    @rrfeng 正则不就是找到规律然后匹配出来么-_-|||
        45
    byron   54 天前
    我解到「 Triples 」,现在想砸键盘。
    有 Cheat 吗?
        46
    hackshen   54 天前
    找规律中...
        47
    stcasshern   54 天前
    @byron 我觉得这个题目重点在于“找规律”而非正则实现,而现实中用到正则是已经知道规律或者规则,再用正则实现。
        48
    qqq8724   54 天前
    @Biwood 老哥 回错人了吧~
        49
    jiejiss   54 天前   ♥ 1
    @byron #45 ^([0369]|[258][0369]*[147]|([147]|[258][0369]*[258])([0369]|[147][0369]*[258])*([258]|[147][0369]*[147]))*$

    DFA 转 regexp,可匹配所有 3 的正整数倍
        50
    Heanes   54 天前
    正则总在学总在忘。。。
        51
    leorealman   54 天前
    .* 直接梭哈
        52
    sadfQED2   54 天前
    第一题全退,太难了。。。。回来看了回复才知道,原来都有 foo 啊
        53
    ahsjs   54 天前
    第三题 u\b 最简 3 个字符的尼玛 2 个字符怎么弄的
        54
    Biwood   54 天前
    @qqq8724 哈哈,你俩相邻楼层,应该是我手误点错了。

    @honjow 37 楼是回复给你的,不知道你还有没有继续,我在 Order 这一题上又卡住了。
        55
    AddictX   54 天前
    @byron
    Triples: 00($|3|6|9|12|15)|4.2|.1.+4|55|.17
    可进排行榜。
        56
    Removable   54 天前
    @AddictX #33 (...).*\1 这样就行了
        57
    hjq98765   54 天前
    好玩好玩,我试试
        58
    Youngxj   54 天前
    只会两题
        59
    index90   54 天前
    排行榜里用一个字符过关的是怎么回事?
        60
    hjq98765   54 天前
    @soulzz #9 原文:“<img src=" "/>我太难了 这题我不会啊”
    ======
    回复:否定匹配右边一组 abba、alla、assa 这种模式
        61
    a494836960   54 天前
    感觉更像找规则,,,写正则并不难
        62
    byron   54 天前
    @AddictX 哈哈,果真有 Cheat。
        63
    byron   54 天前
    @Biwood 这题有 Cheat,左右长度不一样^_^
        64
    nikolausliu   54 天前
    我第 3 提就不会了,考零宽断言或者单词边界
        65
    qq316107934   54 天前
    做到怀疑人生,regex 能匹配回文串吗?
        66
    qq316107934   54 天前
    Four 这道题,(.).\1.\1.\1 12 个字符,还能缩到 11 个吗,表示怀疑
        67
    jsq2627   54 天前
    @qq316107934 #66 (.)(.\1){3}
        68
    byron   54 天前
    @nikolausliu 单词边界就是语法,查一下就好了。
        69
    gerorim   54 天前   ♥ 2
    @honjow #32

    and none of these …
    ✔xxxx (no match)
    ✔xxxxxx (no match)
    ✔xxxxxxxx (no match)
    ✔xxxxxxxxx (no match)
    ✔xxxxxxxxxx (no match)
    ✔xxxxxxxxxxxx (no match)
    ✔xxxxxxxxxxxxxx (no match)
    ✔xxxxxxxxxxxxxxx (no match)
    ✔xxxxxxxxxxxxxxxx (no match)
    ✔xx …(18)… xx (no match)
    ✔xx …(20)… xx (no match)
    ✔xx …(21)… xx (no match)
    ✔xx …(22)… xx (no match)
    ✔xx …(24)… xx (no match)
    ✔xx …(25)… xx (no match)
    ✔xx …(26)… xx (no match)
    ✔xx …(27)… xx (no match)
    ✔xx …(28)… xx (no match)
    ✔xx …(30)… xx (no match)
    ✔xx …(32)… xx (no match)

    ^(?!(xx+)\1+$)

    https://sm.ms/image/E1Ppn3IyQJBC9HZ

    注意上面的粉红色光标,断言后面的 xx...xx 串不能被 2 个以上的 xx+ 组成的重复串完全匹配,其中 xx+ 视作因数(数值>1 ),而反引用使得它不能被本身匹配。
    联系质数的数学定义:大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。

    从上面的粉红光标处出发,再加两个 xx (确保自然数大于 1 )即为答案

    Match all of these …
    ✔xx
    ✔xxx
    ✔xxxxx
    ✔xxxxxxx
    ✔xxxxxxxxxxx
    ✔xxxxxxxxxxxxx
    ✔xxxxxxxxxxxxxxxxx
    ✔xxx …(18)… xx
    ✔xxx …(22)… xx
    ✔xxx …(28)… xx
    ✔xxx …(30)… xx
    ✔xxx …(36)… xx
    ✔xxx …(40)… xx
    ✔xxx …(42)… xx
    ✔xxx …(46)… xx
    ✔xxx …(52)… xx
    ✔xxx …(58)… xx
    ✔xxx …(60)… xx
    ✔xxx …(66)… xx
    ✔xxx …(70)… xx

    ^(?!(xx+)\1+$)xx
        70
    gerorim   54 天前
        71
    cnyang   54 天前
    @ptrees 这么牛 b 吗,json 也用正则取,对于我来说不敢想更不敢做,json 类都是套用第三方工具取
        72
    aaronchou0   54 天前
    这个跟正则关系不大吧,就是找规律
        73
    ahsjs   54 天前
    第七题 ^(.)(.).*\2\1$ 这个 14 个字符 13 个字符怎么破
        74
    byron   54 天前
    @ahsjs You're allowed to cheat a little.

    左边没 p
        75
    silentsee   54 天前
    这个把正则里的元字符,范围,非,分组,负向引用,零宽断言,都练习了一遍,挺好的
        76
    silentsee   54 天前
    @ahsjs ^(?!(.)+\1)|ef
        77
    HGladIator   54 天前
    GitHub 一堆这个网站的答案,
        78
    rocketman13   54 天前
    @byron 第五题的 9 怎么写呀
        79
    5200   54 天前
    @ahsjs #73 ^(.)[^p].*\1$ 不会被打吧

    @rocketman13 #78 (...).*\1
        80
    cuiqiangtj   54 天前
    Long count (15 题)这题最简单,直接吧左边的贴上去就过关---哈哈
        81
    asAnotherJack   54 天前
    @annielong #14 有思路了写起来还好,最抓狂的是读别人写的正则
        82
    rocketman13   54 天前
    @shwomen1234fs ^(?!.*?(.)(.)\2\1)为什么最前面要加^
        83
    rocketman13   54 天前
    @5200 原来[a-z]{3}换成(...)
        84
    freewind   54 天前
    Abba 怎么到 14 的 ^(?!.*(.)(.)\2\1)
        85
    anyuhanfei   54 天前
    真好玩,真难
        86
    fengma   54 天前
    @soulzz ^(?!.*(.)(.)\2\1)
        87
    jlhxxxx   53 天前
    我也觉得这叫找规律,头秃头秃
        88
    chennqqi   53 天前
    好难
        89
    AscenZ   53 天前
    ![[email protected]]( https://i.loli.net/2019/08/28/gh1NRnIw46iAWjZ.png)

    求教 这为啥不行?好像跟我学的不太一样
        90
    opsarno   53 天前
    老夫来试一试。
        91
    opsarno   53 天前
    对不起,打扰了。
        92
    byron   53 天前
    @AscenZ 看上面大大的提示,不允许使用「$」。
        93
    c0011   53 天前
    第三题怎么做?
        94
    Chenamy2017   53 天前
    第一题看不懂,能看第二题吗
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   806 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 19:26 · PVG 03:26 · LAX 12:26 · JFK 15:26
    ♥ Do have faith in what you're doing.