Ale*_*lex 4 javascript regex string jquery codemirror
如果一个字符串只包含一组特定的字符{ A-Z,我该}怎么办?
例如
{VARIABLE} =>应该返回true{VARiABLE}=>应该是假的,因为有一个小写i内{ VARIABLE} =>应该是假的,因为有空间等哦,非常重要:
字符串必须在{和之间至少有一个字符},所以:
{} 也应该是假的......这听起来像是使用正则表达式的好例子.特别是,正则表达式允许一个匹配一系列字符 - [A-Z{}]匹配任何字符,或者是大写字母{,或}.
编辑基于新的要求 - 你想匹配以文字开头的东西{,然后在范围内至少有一个字符A-Z,然后关闭}.这给了正则表达式:
{[A-Z]+}
Run Code Online (Sandbox Code Playgroud)
因此,您可以匹配整个正则表达式:
val input = "{VARIABLE}"
return input.test(/{[A-Z]+}/) // returns true
"{VARiABLE}".test(/{[A-Z]+}/) // returns false
"{ VARIABLE}".test(/{[A-Z]+}/) // returns false
"".test(/{[A-Z]+}/) // returns false - open bracket didn't match
"{}".test(/{[A-Z]+}/) // returns false - A-Z part didn't match
Run Code Online (Sandbox Code Playgroud)
在这种情况下使用:
/^{[A-Z]+}$/.test(str);
Run Code Online (Sandbox Code Playgroud)
regexp表示格式的任何字符串:
{}在^...$确保该字符串应该是正是这种形式,而不仅仅是一个子(否则test{AAA}将匹配太).