如何检查Regex表达式是否与c#中的整个字符串匹配?

Mar*_*arl 7 c# regex

我是正则表达式的新手,很抱歉,如果这是一个非常棒的问题.

我有一个正则表达式...我想要做的是检查字符串是否与整个正则表达式匹配,而不使用正则表达式匹配字符串的任何子集.

例如...

如果我的正则表达式正在寻找\ s A\s*的匹配,如果它与之比较的字符串是"A",它应该返回匹配但是如果它与字符串"AB"相比它不应该返回匹配.

任何帮助,将不胜感激?我用C#编写代码.

pax*_*blo 16

您通常会使用起始端锚点^并且$分别使用:

^\s*A*\s*$
Run Code Online (Sandbox Code Playgroud)

请记住,如果你的正则表达式引擎支持多行,这也可以捕获跨越多行的字符串,只要其中一行匹配正则表达式(从那时起^任何换行符或字符串开始之后以及$任何换行符或字符串之前的锚点)结束).如果你只是针对单行运行正则表达式,那不会有问题.

如果要确保多行输入只是由您的模式组成的单行,您可以使用\A并且\Z如果支持 - 这些意味着字符串的起点和终点,而不管换行符.