如何将整条字符串与正则表达式匹配?

如何将整条字符串与正则表达式匹配?

我需要一个正则表达式,它只会找到整个字符串与我的查询匹配的匹配项。

例如,如果我搜索名为“红色十月”的电影,我只想匹配那个确切的标题(大小写不敏感),而不匹配像“红色十月的狩猎”这样的标题。不太确定我知道怎么做。有人知道吗?

谢谢!


月关宝盒
浏览 1033回答 3
3回答

慕勒3428872

尝试以下正则表达式:^Red October$默认情况下,正则表达式区分大小写。这个^标记匹配文本的开始,并且$最后。

慕的地6264312

一般情况下,在默认设置下,^和$锚是确保正则表达式匹配整个字符串的好方法。不过,有几个注意事项:如果在regex中有替换,请确保将regex封装在一个非捕获组中,然后再用^和$:^foo|bar$当然不同于^(?:foo|bar)$还有,^和$具有不同的含义(开始/结束)线而不是开始/结束弦)如果设置了某些选项。在支持正则表达式的文本编辑器中,这通常是默认行为。在某些语言中,特别是Ruby中,这种行为甚至不能被关闭。因此,另一组锚只保证在整个字符串的开始/结束时匹配:\A匹配在字符串的开头。\Z匹配字符串的末尾或最后行中断之前。\z在字符串的最末端匹配。但并不是所有语言都支持这些锚点,尤其是JavaScript。

墨色风雨

使用^和$修饰符,用于表示regex模式相对于字符串开始和结束的位置:Regex.Match("Red October", "^Red October$"); // passRegex.Match("The Hunt for Red October", "^Red October$"); // fail
打开App,查看更多内容
随时随地看视频慕课网APP