c# - .Net 多行正则表达式限制为整数

标签 c# .net regex

我在使用一个非常简单的正则表达式时遇到了问题。

我想将多行文本框中的条目限制为整数。我使用的正则表达式在单行模式下运行良好(对于单行文本框,不使用多行选项),但在多行模式下允许字母字符悄悄进入,但只有在输入新行后才可以。

我的代码(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/

相关文章:

c# - 如何忽略 Visual Studio 中异步方法的特定异常实例(抛出时中断)

c# - 加载 DLL 的多个实例 (C#/.NET)

javascript - 创建自定义控件 tfs 2015

c# - 如何使用 Border() 仅显示网格(而非列)的行边框

regex - 为什么添加 Perl/x 开关会阻止我的正则表达式匹配?

javascript - 替换所有出现的多个大括号

c# - 读/写一个肯定会在随机时间使用的文件

c# - 使用 IP 地址而不是本地主机时出现 HTTP 错误 400

c# Regex 删除少于 3 个字母的单词?

javascript - 正则表达式如果字符串包含 E 或 F 字母