[英]how to write regular expression to validate a string using regex in C#
[英]How to check if a Regex expression matches an entire string in c#?
我是正则表达式的新手,如果这是一个真正的菜鸟问题,我很抱歉。
我有一个正则表达式......我想要做的是检查一个字符串是否完全匹配正则表达式,而正则表达式不匹配字符串的任何子集。
例如...
如果我的正则表达式正在寻找 \\s A \\s* 的匹配项,如果它与之比较的字符串是“ A ”,则它应该返回一个匹配项,但如果它与字符串“ AB”进行比较,则不应返回匹配项.
任何帮助将不胜感激? 我用 C# 编码。
您通常会分别使用开始结束锚点^
和$
:
^\s*A*\s*$
请记住,如果您的正则表达式引擎支持多行,这也可能会捕获跨越多行的字符串,只要这些行之一与正则表达式匹配(因为^
然后锚定在任何换行符或字符串开始之后,而$
在任何换行符之前或字符串结尾)。 如果您只针对一行运行正则表达式,那不会有问题。
如果您想确保多行输入只是由您的模式组成的单行,您可以使用\\A
和\\Z
如果支持) - 这些表示字符串的开始和结束,而不管换行符如何。
如果您不能或不想更改正则表达式,则还可以使用:
var match = regex.Match(pattern);
if (match.Success && match.Length == pattern.Length)
{
// TODO: Entire string was matched, and not a sub string
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.