我希望在文本框中允许的格式是以逗号分隔的列表,后跟逗号分隔列表之间的换行符。以下是我想从用户那里得到的一个例子:
1,2,3
1,2,4
1,2,5
1,2,6
到目前为止,我限制了使用此ValidationExpression的用户:
^([1-9][0-9]*[]*[ ]*,[ ]*)*[1-9][0-9]*$
但是使用该表达式,用户只能输入一行逗号分隔的数字。
如何通过接受换行来继续接受多行?
答案 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]*)+