假设我有一个多行文本框,我想检查一下,最多5行的1-2位数。我在这里找到了另一个类似问题的正则表达式模式,但即使多次修改它也不适用于我。
我目前正在使用以下内容但未成功。
Dim textCheck As New Regex("(^\d{1,2}$\r?\n?){0,5}", RegexOptions.Multiline)
有人可以帮我解决我做错的事吗?
谢谢
答案 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)?$")