我正在使用以下正则表达式在网页上进行href转换。
\/static\/workout\/[A-Z]{1,4}032812[A-Z]{1,5}-EQB.html
我想找到一种使正则表达式的032812部分动态化的方法,以使该值反射(reflect)当前日期。例如,2012年3月31日,正则表达式如下所示:
\/static\/workout\/[A-Z]{1,4}033112[A-Z]{1,5}-EQB.html
我尝试创建一个字符串
a = \/static\/workout\/[A-Z]{1,4}033112[A-Z]{1,5}-EQB.html
接着
\ a \
但这没用。有没有办法做到这一点。
最佳答案
您可以像在字符串中一样使用#{}
。
1.9.2p290 :001 > some_string = "033112"
=> "033112"
1.9.2p290 :002 > a_regex = /[A-Z]{1,4}#{some_string}[A-Z]{1-5}-EQB.html/
=> /[A-Z]{1,4}033112[A-Z]{1-5}-EQB.html/