[英]Ruby Regex Code String
我有以下逻辑
def insert_type(type_list, user_input)
case user_input
when user_input == 'library_1'
type_list.slice!('library_' + RegEx for any digit after library_ and stop right there + '__')
type_list << user_input << '__'
when user_input == 'class_A_2'
type_list.slice!('class_' + RegEx for any digit after class_ and stop right there + _A + '__')
type_list << user_input << '__'
end
end
我尝试执行以下操作
[l][i][b][r][a][r][y][_]\d{0,5} #digit from 0 to 99999
它确实可以工作,但是应该有一个更常规的方法,我可以从l开始,以下划线结束,然后添加数字,因为type_list可以是:
puts type_list
=> "username_John__userid_58173__userpass_8adsh20__class_A_2__library_0__"
您想要的是:
\w+?(\d{1,5})
或者,如果您想要一个特定的单词,则:
library_(\d{1,5})
它将非贪婪地捕获单词字符,然后将数值添加到第一个捕获组。
解释:
()
中可以捕获该值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.