Руби регулярное выражение не игнорируя пробелы - PullRequest
2 голосов
/ 27 марта 2012

Соответствует S01E01 в Ruby

с

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

, что работает, однако S01 E01 - нет.Я думал, что / х должен игнорировать пробелы?

Ответы [ 2 ]

10 голосов
/ 27 марта 2012

/ x игнорирует пробел внутри вашего регулярного выражения, а не в тексте, который вы соответствуете.

Вы ищете

/S\d+?\s*E\d+?/i
3 голосов
/ 27 марта 2012

Опция 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

Чтобы получить регулярное выражение с тем же значением, что и в вашем примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...