zoukankan      html  css  js  c++  java
  • Regex-Golf

    A man, a plan:

      判断回文,如果不确定串长度情况下可以考虑利用反向引用构造pattern,例如: (.)1  , (.)(.)21 , (.)(.)(.)321 ...但这里只需要判下前后两个char就好了。

    ^(?:(.)(.).*21)$

    Prime :

      判断元素个数是不是素数,是的话匹配成功否则失败。一开始写了个大暴力pattern A掉了。后来看到正解真是叹为观止= =,长这个样子: 

    ^(?!(..+)1+$)

      换句话说就是如果一个数可以表示为 n=k*x ,x>=2,k>=2,那就会匹配失败。

      一开始以为  ^(?!(..+){2,}$) 也应该是对的,但是一直W,原因在于1是对前面的引用,二者内容一致,(引用的是文本内容而并非表达式)但是(..+){2,}的话等价于多个(..+),而这个东西的表示是不唯一的,所以这样写是错的。

  • 相关阅读:
    网络之传输层
    局域网的物理组成
    网络基础
    RAID磁盘阵列
    mount挂载和交换分区swap
    Linux文件系统
    sed命令基础2
    sed命令基础
    LVM基础
    磁盘配额基础
  • 原文地址:https://www.cnblogs.com/zzqc/p/10219970.html
Copyright © 2011-2022 走看看