Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式帮助_C#_Asp.net_Regex - Fatal编程技术网

C# 正则表达式帮助

C# 正则表达式帮助,c#,asp.net,regex,C#,Asp.net,Regex,我需要一个正则表达式,它不会让某人继续检查单词“box”或“box”或“box”中的类型是否后跟数字。这两个条件都必须满足才能起作用,字框和数字不是一个或另一个。有人知道怎么写这个吗 编辑: 嘿,伙计们,我试过一些,问题是它阻止了像1234 s之类的常规地址。我想阻止的是,如果用户输入类似于1234号邮政信箱的内容。我们认为任何带有“盒子”和数字的东西都不应该被接受 谢谢在问题澄清后编辑: new Regex(@"\bbox\s*\d+", RegexOptions.IgnoreCase);

我需要一个正则表达式,它不会让某人继续检查单词“box”或“box”或“box”中的类型是否后跟数字。这两个条件都必须满足才能起作用,字框和数字不是一个或另一个。有人知道怎么写这个吗

编辑:

嘿,伙计们,我试过一些,问题是它阻止了像1234 s之类的常规地址。我想阻止的是,如果用户输入类似于1234号邮政信箱的内容。我们认为任何带有“盒子”和数字的东西都不应该被接受


谢谢

在问题澄清后编辑:

new Regex(@"\bbox\s*\d+", RegexOptions.IgnoreCase);
在输入字符串中的任何位置,都可以将“box”作为一个单词单独匹配,可以选择后跟空格,后跟数字。因此,它将匹配:

  • 框12
  • 方框12
  • 邮政信箱12
  • 方框12a
它不会匹配:

  • 黄杨树12
  • 动臂箱12
  • 箱式Pog
  • 盒子Pog 12

(如果你原来的问题解释了你实际上想做什么,那会非常有帮助!)

在问题澄清后编辑:

new Regex(@"\bbox\s*\d+", RegexOptions.IgnoreCase);
在输入字符串中的任何位置,都可以将“box”作为一个单词单独匹配,可以选择后跟空格,后跟数字。因此,它将匹配:

  • 框12
  • 方框12
  • 邮政信箱12
  • 方框12a
它不会匹配:

  • 黄杨树12
  • 动臂箱12
  • 箱式Pog
  • 盒子Pog 12
(如果你最初的问题解释了你实际上想做什么,那将非常有帮助!)

澄清问题后编辑

我猜您实际上希望对以下内容进行不区分大小写的搜索:

box\s*\d+
  • \s*
    :任意数量的空白
  • \d
    +:至少一个数字
如果需要,可以定义位数。3-5位数的示例:

box\s*\d{3,5}
澄清问题后编辑

我猜您实际上希望对以下内容进行不区分大小写的搜索:

box\s*\d+
  • \s*
    :任意数量的空白
  • \d
    +:至少一个数字
如果需要,可以定义位数。3-5位数的示例:

box\s*\d{3,5}

至少在我的经验中,编写一个正则表达式来严格匹配预期情况比试图排除例外情况更容易。

至少在我的经验中,编写一个正则表达式来严格匹配预期情况更容易,不要试图排除例外情况。

如果你展示了一个你想要接受的格式示例,人们会更容易回答这个问题

如果您想在字符串前面加上“Box”的任何变体,然后加上数字,那么类似的方法应该可以(确保使用RegexOptions.IgnoreCase)

哪一个与

box1
BOX1234567
bOx3
...etc...

如果你展示一个你想要接受的格式的例子,人们会更容易回答这个问题

如果您想在字符串前面加上“Box”的任何变体,然后加上数字,那么类似的方法应该可以(确保使用RegexOptions.IgnoreCase)

哪一个与

box1
BOX1234567
bOx3
...etc...

你试过类似的东西吗

/box\d+/

加上IgnoreCase?

你试过类似的方法吗

/box\d+/
加上IgnoreCase?

这:

box|Box|BOX\d+
将匹配这些特定的情况框、框、框以及所有这些后面跟数字,但在这种情况下也将返回true,例如:

asBox123asdasd
例如,如果要在字符串正好为box123时获得true,则应使用:

^box|Box|BOX\d+$
相反

这:

box|Box|BOX\d+
将匹配这些特定的情况框、框、框以及所有这些后面跟数字,但在这种情况下也将返回true,例如:

asBox123asdasd
例如,如果要在字符串正好为box123时获得true,则应使用:

^box|Box|BOX\d+$
相反,不要忘记“邮局”选项

^(邮政信箱*[0-9]+$

别忘了“邮局”选项


^(p(ost|)*o(office|)?方框*[0-9]+$

\d*表示\d可以匹配0次或多次,OP要求至少有一个数字。。改为使用\d+。\d*表示\d可以匹配0次或更多次,OP要求至少有一个数字。。改为使用\d+。