我在使用一个非常简单的正则表达式时遇到了问题。
我想将多行文本框中的条目限制为整数。我使用的正则表达式在单行模式下运行良好(对于单行文本框,不使用多行选项),但在多行模式下允许字母字符悄悄进入,但只有在输入新行后才可以。
我的代码(C#)是这样的:
Regex regExpr = new Regex("^(\d*)$", RegexOptions.Multiline)
return regExpr.IsMatch(testString);
我希望以下示例有效:
1
1\\n
1\\n2\\n3
我希望以下内容无效
A
A1\\n2
1\\n2\\nA3
提前致谢。
最佳答案
您可以匹配数字和换行符:
Regex regExpr = new Regex("[\d\n]*", RegexOptions.Multiline)
这将匹配任意数量的数字和换行符。如果您只想确保输入的文本没有非数字,请使用
Regex regExpr = new Regex("[\D\S]", RegexOptions.Multiline)
如果它匹配,那么你有一个非法条目。
关于c# - .Net 多行正则表达式限制为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314567/