Chinaunix

标题: 关于正则匹配范围 [打印本页]

作者: 674949301    时间: 2017-08-18 12:36
标题: 关于正则匹配范围
本帖最后由 674949301 于 2017-08-18 13:00 编辑

请各位大侠帮忙看看为什么这样写我会怕匹配不到这个
匹配目标如下:
duration=1~30(0到30这个范围内)

我的正则写法(匹配无效):
duration=(^[1-9]$|^[1-2]\d?$|^30$)

作者: 龙牙地主天    时间: 2017-08-18 13:09
本帖最后由 龙牙地主天 于 2017-08-18 13:14 编辑
  1. seq 0 100 | egrep "^[0-9]$|^[1-2][0-9]$|^30"
复制代码

作者: mwl940602    时间: 2017-08-18 13:55
本帖最后由 mwl940602 于 2017-08-18 15:52 编辑

grep -P 'duration=([0-9]$|([0-2](?<=[1-2])[0-9 ]$)|30$)' file

^代表一行开头,在有dimention的情况下,后面是不能用^去匹配数字的开头的
作者: moperyblue    时间: 2017-08-18 14:02

  1. grep -Po 'duration=([0-9]|[1-2][0-9]|30)\b'
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2