Ce n’est peut-être pas tout à fait la question à laquelle vous vous attendez! Je ne veux pas de regex qui corresponde aux sauts de ligne; au lieu de cela, je veux écrire une longue regex que, pour plus de lisibilité, je voudrais partager sur plusieurs lignes de code.
Quelque chose comme:
"bar" =~ /(foo| bar)/ # Doesn't work! # => nil. Would like => 0
Peut-on le faire?
Vous devez utiliser le modificateur /x
, qui active le mode d’espacement libre .
Utiliser% r avec l’option x est la manière préférée de le faire.
Voir cet exemple du guide de style github ruby
regexp = %r{ start # some text \s # white space char (group) # first group (?:alt1|alt2) # some alternation end }x
vous pouvez utiliser:
"bar" =~ /(?x)foo| bar/