匹配正则表达式

时间:2012-10-22 18:52:58

标签: ruby

我必须要检查日期和91981552e1775310VgnVCM100000a2b6140a____;standard;212.58.244.70;Oct-22-2012;24353teehdtehg;是动态的24353teehdtehg值。

我怎样才能更通用,以便我可以检查expected_value =~/actual_value/,不包括Ruby中的动态值。

2 个答案:

答案 0 :(得分:4)

如果可能的话,我不会使用正则表达式。您似乎有一个输入字符串,可以轻松更改并用于与预期值进行比较,而无需使用正则表达式。

str = "91981552e1775310VgnVCM100000a2b6140a____;standard;212.58.244.70;Oct-22-2012;24353teehdtehg;"

actual_value = str.split(';')[0..-3].join(';')
# "91981552e1775310VgnVCM100000a2b6140a____;standard;212.58.244.70"

然后只比较两个

expected_value == actual_value

答案 1 :(得分:0)

我想你可以使用类似的东西:

/91981552e1775310VgnVCM100000a2b6140a____;standard;212\.58\.244\.70;(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2}-\d{4};\d{5}[a-z]{9};/

取决于字符串实际可能是什么。