Ruby正则表达式不会忽略空格

时间:2012-03-27 08:56:14

标签: ruby regex

在Ruby中匹配S01E01

/S\d+?E\d+?/ix

但是,S01 E01没有。我认为/ x应该忽略空格?

2 个答案:

答案 0 :(得分:10)

/ x忽略你的正则表达式中的空格,而不是你匹配的文本。

您正在寻找

/S\d+?\s*E\d+?/i

答案 1 :(得分:3)

x选项会忽略正则表达式本身中的空白,这样您就可以更好地格式化正则表达式而无需修改其含义。你可以写:

irb(main):008:0> r = /
irb(main):009:0/ S
irb(main):010:0/ d+?
irb(main):011:0/ E
irb(main):012:0/ d+?
irb(main):013:0/ /ix

获得与你的例子具有相同含义的正则表达式。