Regex-Golf
2024-09-01 12:44:06
A man, a plan:
判断回文,如果不确定串长度情况下可以考虑利用反向引用构造pattern,例如: (.)\1 , (.)(.)\2\1 , (.)(.)(.)\3\2\1 ...但这里只需要判下前后两个char就好了。
^(?:(.)(.).*\2\1)$
Prime :
判断元素个数是不是素数,是的话匹配成功否则失败。一开始写了个大暴力pattern A掉了。后来看到正解真是叹为观止= =,长这个样子:
^(?!(..+)\1+$)
换句话说就是如果一个数可以表示为 n=k*x ,x>=2,k>=2,那就会匹配失败。
一开始以为 ^(?!(..+){2,}$) 也应该是对的,但是一直W,原因在于\1是对前面的引用,二者内容一致,(引用的是文本内容而并非表达式)但是(..+){2,}的话等价于多个(..+),而这个东西的表示是不唯一的,所以这样写是错的。
最新文章
- HSDB - HotSpot debugger
- opencv单目摄像机标定(一)
- MOOCULUS微积分-2: 数列与级数学习笔记 Review and Final
- 正则表达式里";-";中划线的使用注意
- Codevs No.1245 最小的N个和
- 字符数组什么时候要加‘\0’
- 主计划MPS禁止改写项目编号(PROJECT)
- 14.2.5.5 Change Buffer
- Hadoop Hive与Hbase关系 整合
- TCP/IP和UDP之间的区别(转载)
- 2016/1/9:深度剖析安卓Framebuffer设备驱动
- codeforces 983B XOR-pyramid
- ubuntu 下开机启动项修复(进不去windows系统)
- Linux学习历程——Centos 7 tar命令
- grep,sed,awk用法整理
- Delphi XE-Windows下配置开发环境 (Android版/IOS)
- 你得学会并且学得会的Socket编程基础知识
- Dozer 使用小结
- C语言入门:02.第一个C语言程序
- ElasticSearch 数据增删改实现