2012-01-13 40 views
0

我想使用正则表达式来验证它只有一定的格式是允许正则表达式验证括号[]字符串

样品的文本字段中的一个:[苹果] [橙] [飘飘] ABC

这里是格式的一些规则

  1. 括号内的项目和字符串的开始处不允许有字符。

  2. 至少有一个括号的项目,但没有更多的则5

  3. 只有这些串词被允许在括号内的项目:苹果,橘子,榴莲,梨。

  4. 整个字符串不超过100个字符。

我想出了这一点:"(<?bracket>\[(Apple|Orange|Durian)\]){1,5}"但我尝试加载我的页面时,此错误:

解析“”(?括号” - 没有足够的)的 任何人都可以协助正则表达式根据格式规则,谢谢。

回答

1

什么是字符串<?bracket>在那里做?我不认为这是任何正则表达式语法的一部分,我也没有发现它作为一个特定于asp.net的事情。

Regar你的四个标准:

1)在正则表达式的开头放一个脱字符(字符^)。这表明无论什么后,它必须成为该领域的开始。

2)我认为你有这个权利。将整个表达式括在括号内,然后是{1,5}

3)我认为这是正确的。这些词需要被大写?如果不是,请记住指定小写字母作为替代(例如,[Dd]urian)或向整个表达式添加不区分大小写的修饰符。

4)我不认为你可以使用相同的正则表达式来做到这一点。你需要做一个单独的验证步骤来查看字符串是否与^.{1,100}$类似。

+0

删除作品,现在唯一不起作用的限制是我不能在最后一个括号内的字符串后添加任何字符。 – k80sg 2012-01-13 03:29:35

+0

在这种情况下,它听起来像是测试正则表达式和字段内容之间的完全匹配,而不是部分匹配。你应该能够改变这种行为,但我不知道如何,不速之客。作为一种解决方法,您可以在正则表达式的末尾添加“。+”,以表示任何其他字符都是有效的。 第二个验证步骤,我在标准4中提到,仍应确保整个字符串在长度限制内。 – octern 2012-01-13 03:39:45

相关问题