我正在学习正则表达式,我正在尝试找到这个字符串day1otlk_XXXX.gif 其中4 X将是3到4个随机数字。这就是我到目前为止所关闭的事情?
qr/day1otlk_\d++\.gif/i
答案 0 :(得分:1)
有点亲近。您有\d
个数字。
你知道正则表达式的range operator是什么吗?
答案 1 :(得分:1)
非常接近。这应该做到......
day1otlk_\d{3,4}\.gif
大括号{}
允许您指定一定数量的重复字符{3,4}
或一个确切的数字,如{4}
。
答案 2 :(得分:1)
正则表达式应为/day1otlk_(\d{3,4})\.gif/
,可能/i
为不区分大小写。如果它在字符串中,您可能需要/\bday1otlk_(\d{4})\.gif\b/
代替"asdjklfhlday1otlk_5242.gifiasdytoi"
之类的内容,而这些内容可能是您不想要的。
{3,4}
表示需要有三到四位数字,并且括号可以在\ 1或$ 1中捕获这四位数字。
(奖励未被要求回答:如果你只需要三个,或者说五个,你就不能这样做。{3,5}
会得到三到五个。你需要{{1}或类似的东西。)
答案 3 :(得分:1)
使用花括号指定范围量词:
qr/day1otlk_\d{3,4}\.gif/i
答案 4 :(得分:1)
您可以指定包含以下内容的3位或4位数字:
day1otlk_\d{3,4}\.gif
{}
是repetition修饰符。它比*
或+
更准确。您可以使用它来指定前一个模式的重复次数或重复范围。
a{m}
- 完全是一个人
a{m,}
- 至少是一个人
a{m,n}
- 至少m,但最多n a