我遇到了一个非常简单的正则表达式问题。
我想限制多行文本框中的输入只能是整数。我已经使用了一个正则表达式,在单行模式下运行良好(对于单行文本框,不使用多行选项),但是在多行模式下允许字母字符进入,但只有在输入新行后才会发生。
我的代码(C#)大致如下:
Regex regExpr = new Regex("^(\d*)$", RegexOptions.Multiline)
return regExpr.IsMatch(testString);
我希望以下示例是有效的:
1
1\\n
1\\n2\\n3
我希望以下内容无效。
A
A1\\n2
1\\n2\\nA3
提前感谢您。
Singleline
修饰符改变了.
(点)元字符的行为,使其可以匹配换行符以及所有其他字符。Multiline
影响锚点^
和$
,使它们可以在行边界处匹配,而不仅仅是在文本开头和结尾进行匹配。Singleline
对锚点没有影响,而Multiline
不影响点;它们是完全独立的。 - Alan Moore