C# c语言中的正则表达式#

C# c语言中的正则表达式#,c#,regex,C#,Regex,我正在尝试验证texbox是否允许数字和字母,而不仅仅是字母,例如13492M 我正在使用C#正则表达式。^[A-Za-z]*\d[A-Za-z\d]*$应该可以。(可能是一些字母,然后是一个数字,然后是更多的字母或数字。) (编辑以添加开始/结束匹配。)简单 Pattern = "^[a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]*$" 详细信息: 开始^ 零个或多个字母数字混合[a-zA-Z0-9]* 一个或多个数字[0-9]+ 零个或多个字母数字混合[a-zA-Z0-9]*

我正在尝试验证texbox是否允许数字和字母,而不仅仅是字母,例如13492M


我正在使用C#正则表达式。

^[A-Za-z]*\d[A-Za-z\d]*$
应该可以。(可能是一些字母,然后是一个数字,然后是更多的字母或数字。)

(编辑以添加开始/结束匹配。)

简单

Pattern = "^[a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]*$"
详细信息:

  • 开始<代码>^
  • 零个或多个字母数字混合<代码>[a-zA-Z0-9]*
  • 一个或多个数字<代码>[0-9]+
  • 零个或多个字母数字混合<代码>[a-zA-Z0-9]*
  • 结束<代码>$

使用maskedTextBox,它使用属性“mask”来验证所需的表达式。因此,您只需将正则表达式添加到maskedTextBox中,而不必每次都验证代码(它会自动检查正则表达式)

此正则表达式应该可以正常工作:

^[A-Za-z]*[0-9]+[A-Za-z]*$
此正则表达式将允许数字或字母+数字。只有字母会失败。

这个怎么样:

 ([0-9]+[a-zA-Z]+ | [a-zA-Z]+[0-9]+)[a-zA-Z0-9]*

(先数字后字母或先字母后数字)至少一次或多次超过字母和数字,这是可选的

“允许数字和字母,但不允许字母”??你的意思是不单是字母吗?我想,它一定是字母数字吗?@frenchie我想他的意思是“允许数字和字母,而不仅仅是字母”数字和字母的任意组合,或者每个例子中的数字序列后面跟着一个或多个字母?无论如何,请在正则表达式中查找|(可选)运算符。您的问题未指定。我将在第一个
[]
中取出
\d
。根据正则表达式引擎的工作方式,这可能会提高性能。@CodeInChaos干杯,这应该会起作用。“我花了一分钟的时间想了想。”“戈兰,这个问题还有待解释。。。但是无论如何还是要感谢:)不,它接受字母和数字混合字符串或仅数字。仅字母字符串是混合字母数字字符串的特例,将由
^[a-zA-Z0-9]+$
匹配
^[0-9]+$
部分现在完全没有用了。您的代码看起来可能会遇到性能问题,至少为正则表达式引擎优化这一点是非常重要的。将其与Rawling的代码进行比较。我并不是说您的代码是错误的,只是与Rawling更新的代码相比,某些输入可能会较慢。因此,让我们等待优化的代码:)您是否应该添加开始和结束说明符?这将不允许以字母开头的值。。。但这可能是Karl想要的,这有点难说。@Rawling是的,它允许一个以字母开头的值。根据我对这个问题的解释,它仍然是错误的。它与A1B2不匹配。但是谁知道OP想要什么。好吧,至少OP现在有两个问题:)谢谢你的回复-约书亚的回答似乎已经成功了,我会确认并标记为回答,再次感谢