gpt4 book ai didi

C# Regex - 如何验证特定单词或数字但不是两者

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:30 25 4
gpt4 key购买 nike

我需要验证一个值,要求它可以包含数字 0-9 或特定的单词,但不能同时包含两者。

我正在使用下面的表达式

Regex regex = new Regex(@"\b(Private Bag)\b|[0-9]");

但是,如果发现使用上述表达式验证所有场景都是通过的。

这个正则表达式哪里出错了?

最佳答案

您可能需要在您的模式周围放置开始 (^) 和结束 ($) anchor 。否则,该模式将匹配包含您的特定单词或数字的任何值,而不管字符串中出现的其他内容。此外,听起来您需要包含一个或多个 (+) 数字:

Regex regex = new Regex(@"^(?:(Private Bag)|[0-9]+)$");

此模式将匹配包含 Private Bag 或一个或多个十进制数字且仅包含其他任何内容的字符串。

或者如果你不关心分组,这个更简单一些:

Regex regex = new Regex(@"^(Private Bag|[0-9]+)$");

关于C# Regex - 如何验证特定单词或数字但不是两者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com