如何检查嵌套的方括号?
How to check for nested square brackets?
我有以下输入字符串:
[text1][text2][text3]...[textN]
并且我想使用正则表达式应用以下验证规则:
The ]
and [
cannot be included in other []
.
例如,接下来输入的字符串不正确:
[test1][test2[][test3]
[test1][test2]][test3]
[test1][test2[lol][test3]
[test1][test2]lol][test3]
我需要验证输入字符串,因为我要将它分成 []
组(再次使用正则表达式)。
这应该可以解决问题:
^(\[\w*\])*$
意思是
- ^ 从
开始
- [一个
[
- \w* 多个单词字符(
\w
匹配 [A-Za-z0-9_]
)
- ]一个
]
*
多次
- $ 字符串结尾
如果你真的想要一个正则表达式,这里是一个快速的:
^(\[[^\[\]]+\])*$
处理您的示例
此处的原则是每个括号对 (\[.*\])*
包含任何不包含括号 [^\[\]]+
的文本
如果您需要 [test1][test2][][test3]
工作,请将 +
更改为 *
以允许空字符串匹配
我有以下输入字符串:
[text1][text2][text3]...[textN]
并且我想使用正则表达式应用以下验证规则:
The
]
and[
cannot be included in other[]
.
例如,接下来输入的字符串不正确:
[test1][test2[][test3]
[test1][test2]][test3]
[test1][test2[lol][test3]
[test1][test2]lol][test3]
我需要验证输入字符串,因为我要将它分成 []
组(再次使用正则表达式)。
这应该可以解决问题:
^(\[\w*\])*$
意思是
- ^ 从 开始
- [一个
[
- \w* 多个单词字符(
\w
匹配[A-Za-z0-9_]
) - ]一个
]
*
多次- $ 字符串结尾
如果你真的想要一个正则表达式,这里是一个快速的:
^(\[[^\[\]]+\])*$
处理您的示例
此处的原则是每个括号对 (\[.*\])*
包含任何不包含括号 [^\[\]]+
如果您需要 [test1][test2][][test3]
工作,请将 +
更改为 *
以允许空字符串匹配