请有人帮我用正则表达式来验证这种模式的字符串
aaa [bbb]
我想要以上述格式输入。 aaa
& bbb
可以是一个或多个单词的任意组合,也可以包含特殊字符。 bbb
必须包含在方括号内 ([...]
)。完整的字符串可以有前导空格或尾随空格。
我试过这个:
var re=/\w{0,} \[*\w{0,}\]/
但它在测试字符串上返回 false,例如:
re.test("onc>*!llklk[dd<dfd]")
最佳答案
您的正则表达式明确要求存在一个空格。我们可以用 Regexper 将其可视化:
这在 "onc>*!llklk[dd<dfd]"
上返回 false因为没有空格字符。
要解决您的问题,请使用具有空格字符的测试字符串,或将您的正则表达式更改为不需要此字符:
var re = /\w{0,}\[*\w{0,}\]/;
re.test("aaa [bbb]");
> true
re.test("onc>*!llklk[dd<dfd]");
> true
您可能需要重新考虑您的正则表达式,因为就目前而言,单个 "]"
Angular 色将通过测试:
re.test("]");
> true
关于Javascript 模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279673/