RegEx Expression帮助

jum*_*ojs 1 c# regex asp.net

我需要一个正则表达式,不会让某人继续查看单词'box'或'Box'或'BOX'中的类型后跟数字.为了实现这一点,必须满足这两个条件,单词框和数字不是一个或另一个.有谁知道如何写这个?

编辑:

嘿伙计们,我已经尝试了一些,问题是它阻止了常规地址,如1234 S. Something Lane.我想要防止的是用户输入类似po框1234的东西.我们用"box"这个词来形容任何东西,不应该接受它之后的数字.

谢谢

Ric*_*dle 6

问题澄清后编辑:

new Regex(@"\bbox\s*\d+", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

这将"box"单独匹配为单词,可选地后跟空格,后跟输入字符串中任意位置的数字.所以它会匹配:

  • box12
  • 方框12
  • 邮政信箱12
  • 方框12a

它不匹配:

  • boxtree 12
  • 音箱12
  • Box Pog
  • Box Pog 12

(如果您的原始问题已经解释了您实际上要做的事情,那将会非常有用!)


sou*_*rge 5

(box|Box|BOX)[0-9]+
Run Code Online (Sandbox Code Playgroud)

澄清问题后编辑:

我猜你真的想要一个不区分大小写的搜索:

box\s*\d+
Run Code Online (Sandbox Code Playgroud)
  • \s*:任何数量的空白
  • \d+:至少一个号码

如果需要,您可以定义位数.3-5位数的示例:

box\s*\d{3,5}
Run Code Online (Sandbox Code Playgroud)