正则表达式检查多行文本框上的输入

时间:2011-04-22 13:39:43

标签: regex vb.net visual-studio-2010 textbox multiline

假设我有一个多行文本框,我想检查一下,最多5行的1-2位数。我在这里找到了另一个类似问题的正则表达式模式,但即使多次修改它也不适用于我。

我目前正在使用以下内容但未成功。

Dim textCheck As New Regex("(^\d{1,2}$\r?\n?){0,5}", RegexOptions.Multiline)

有人可以帮我解决我做错的事吗?

谢谢

2 个答案:

答案 0 :(得分:1)

首先,获取一份RegEx Designer。它是免费的,值得为此类事物付出代价。

http://www.radsoftware.com.au/?from=RegexDesigner

然后,我认为你可能想要的是这样的

(^ \ d {1,2} \ r吗?\ n?){0,5} \ž

然后测试匹配包括整个输入。中间的$无助,\ z强制匹配到字符串的结尾。可能有一些我错过的细节。再一次,RegExDesigner让正则表达式玩得更加愉快!

答案 1 :(得分:1)

所以你想要匹配一个由换行符分隔的1到2位数字的列表,最多五个?如果是这样,这应该工作。最后一个换行是可选的,如果字符串中的其他任何东西都不匹配。 (为此,请勿使用RegexOptions.Multiline)

我用C#检查了这个,所以我不确定转义字符是否正确。我注意到你在d之前只有一个斜线。在c#中你需要两个,但是我把它从它上面移开来使它看起来像你的。

Dim textCheck As New Regex("^\d{1,2}((\r|\n|\r\n)\d{1,2}){0,4}(\r|\n|\r\n)?$")