需要创造性地编写JavaScript RegEx

时间:2013-12-13 18:30:36

标签: javascript regex

需要一些帮助来编写一个符合以下任何一个的正则表达式(不带引号)。

  • “项=”
  • “项[] =”
  • “项[0] =”

这比我的正则表达知识要复杂得多。 任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:2)

你走了:

/\bitems(\[\d*\])?=/

Regular expression visualization

Debuggex Demo

答案 1 :(得分:1)

/\bitems(\[\d*\])?=/

这将匹配任何数字字符串,而不仅仅是0。

答案 2 :(得分:0)

这样的东西
/[a-zA-Z0-9\[\]]+/

...? 或者,根据你的评论:

/items\[[0-9]*\]/  // this will match any numbers inside
/items\[[0-9]?\]/  // this will match nothing or one digit
/items\[0?\]/  // this will match only the digit zero or nothing

你的目标是哪一个?

答案 3 :(得分:0)

这将使括号表达式成为可选,索引表达式也是可选的。

/items(?:\[\d*\])?=/
  • items与文字字符串items匹配,如您所知
  • (?: some stuff )?使“某些内容”成为可选内容,并且不会成为一个群组。
  • \[与文字[
  • 相匹配
  • \d*匹配零个或多个数字字符
  • \]与文字]
  • 相匹配

答案 4 :(得分:0)

您可以使用:

/\bitems(\[\d*\])?=/
  • \b匹配字边界(如果您希望将items作为较大字符串的一部分进行匹配,请将其删除;
  • items匹配字符串(相当自我解释)
  • \[\d*\]匹配包含零个或多个数字的一​​对方括号;
  • 将其包装在()?中会使包含的匹配成为可选项;然后
  • =匹配尾随的等号。