带有换行符的逗号分隔列表的正则表达式

时间:2017-08-06 15:30:50

标签: asp.net regex validation expression

我希望在文本框中允许的格式是以逗号分隔的列表,后跟逗号分隔列表之间的换行符。以下是我想从用户那里得到的一个例子:

1,2,3
1,2,4
1,2,5
1,2,6

到目前为止,我限制了使用此ValidationExpression的用户:

^([1-9][0-9]*[]*[ ]*,[ ]*)*[1-9][0-9]*$

但是使用该表达式,用户只能输入一行逗号分隔的数字。

如何通过接受换行来继续接受多行?

1 个答案:

答案 0 :(得分:2)

可以检查输入格式是否正确。我建议使用组并重复它们:

((\d+,)+\d+\n?)+

但要检查矩阵是否对称,你必须使用其他东西,然后使用正则表达式。

请在此处查看:https://regex101.com/r/GqtOuQ/2/

如果您想要更加用户友好,可以允许用户想要在数字和逗号之间添加的水平空间。这可以通过正则表达式组\h来完成,该组允许除\n之外的每个空格。

正则表达式代码现在看起来更乱了:

((\h*\d+\h*,\h*)+\h*\d+\h*\n?\h*)+

在此处查看:https://regex101.com/r/GqtOuQ/3

以下是适用于.NET的版本:

(([ \t]*\d+[ \t]*,[ \t]*)+[ \t]*\d+[ \t]*\n?[ \t]*)+