何时在正则表达式中使用\ ... \ m?

时间:2017-02-03 01:08:29

标签: ruby-on-rails regex

如果我有这个字符串:

st =“重要的是不要停止提问。

好奇心有其存在的理由。

永远不要失去神圣的好奇心。“

我希望使用正则表达式匹配“好奇心”,我可以使用

/Curiosity/m === st

您何时通常使用\ ... \ m?

非常感谢,我很感激!

1 个答案:

答案 0 :(得分:1)

不,你的例子不需要它。 m是一个修饰符,它允许点(默认表示除换行符之外的任何字符)也匹配换行符。

请注意,m修饰符的这个含义特定于ruby及其正则表达式引擎,在其他语言中,使用其他正则表达式引擎,修饰符m具有不同的含义。

实例:

/a.*b/匹配"a#123opi[b"

但它与"a#123 opi[b"

不匹配

因为默认情况下,点.与换行符不匹配。

/a.*b/m是因为m修饰符改变了点的含义并允许它匹配换行符。