括号[]字符串上的正则表达式验证

时间:2012-01-13 02:02:36

标签: asp.net

我正在尝试使用正则表达式来验证只允许某种格式的文本字段

示例:[Apple] [Orange] [Durian] ABC

以下是格式

的一些规则
  1. 括号中的项目和字符串开头之间不允许使用任何字符。

  2. 至少有一个括号中的项目,但不超过5个。

  3. 在括号内的项目中只允许使用这些字符串:Apple,Orange,Durian,Pear。

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

  5. 我出来了:"(<?bracket>\[(Apple|Orange|Durian )\]){1,5}"但是在尝试加载页面时遇到了这个错误:

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

1 个答案:

答案 0 :(得分:1)

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

关于您的四个标准:

1)将插入符号(字符^)放在正则表达式的开头。这表明无论是什么之后它必须是该领域的开始。

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

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

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