查明字符串是否由特定字符集组成

发布于 2024-11-24 09:53:19 字数 431 浏览 5 评论 0原文

如果字符串仅包含一组特定字符: { AZ} ,我该如何判断?

例如

  • {VARIABLE} =>应该返回 true
  • {VARiABLE} => 里面有一个小写的 i
  • 应该是 false,因为{ VARIABLE} => 应该为 false,因为有空格等。

哦,非常重要:

字符串在 {} 之间必须至少有一个字符,因此:

  • {} 也应该是 false...

How can I out if a string only contains a certain set of characters: { A-Z and } ?

For example

  • {VARIABLE} => should return true
  • {VARiABLE} => should be false, because there's a lowercase i inside
  • { VARIABLE} => should be false because there's a space etc.

Oh, very important:

the string MUST have at least one character between { and }, so:

  • {} should be false too...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

疯狂的代价 2024-12-01 09:54:02

Jquery 代码:

$(document).ready( function(){                          
   $('#test_regex').click( function(){
      regex= /^{[A-Z]+}$/;
      str= $('#reginput').val();
      result= regex.test(str);
      if( result ){
        alert("It's the correct value, yes it's right");
      }else{
        alert("It's incorrect value.. You know");
      }
   });
});

HTML 代码:

<input type="text" id="reginput"/>
<button id="test_regex">Check Value</button>

如果值为 {UPPERCASELETTERS},它将返回警报(“这是正确的值,是的,它是正确的”)

Jquery Code:

$(document).ready( function(){                          
   $('#test_regex').click( function(){
      regex= /^{[A-Z]+}$/;
      str= $('#reginput').val();
      result= regex.test(str);
      if( result ){
        alert("It's the correct value, yes it's right");
      }else{
        alert("It's incorrect value.. You know");
      }
   });
});

HTML Code:

<input type="text" id="reginput"/>
<button id="test_regex">Check Value</button>

It will return alert("It's the correct value, yes it's right"), if value is {UPPERCASELETTERS}

喵星人汪星人 2024-12-01 09:54:01

试试这个正则表达式...

/^[{}A-Z]+$/

/^[{}A-Z]+$/.test("{VARIABLE}") // => true

Try this regex...

/^[{}A-Z]+$/

/^[{}A-Z]+$/.test("{VARIABLE}") // => true
熟人话多 2024-12-01 09:54:01

使用这个表达方式。

[AZ{}]*

这里的方括号 [] 坚持要出现的字符,* 表示该模式可以重复多次。

Use this expression.

[A-Z{}]*

Here the square brackets [] insist on what characters to be present and * says that this patter can repeat multiple times.

歌入人心 2024-12-01 09:54:00

进行负正则表达式匹配。如果您匹配 /[^AZ{}]/ 之类的内容并获得成功,则该字符串包含“不允许”的内容。

Do a negative regex match. If you match something like /[^A-Z{}]/ and get a success, then the string contains something that's "not allowed".

吻安 2024-12-01 09:53:59

使用此正则表达式:^[AZ{}]+$。它仅允许 AZ{}

Use this regex: ^[A-Z{}]+$. It allows only A-Z and {}

怎言笑 2024-12-01 09:53:58

这听起来像是使用正则表达式的好例子。特别是,正则表达式允许匹配一系列字符 - [AZ{}] 将匹配任何大写字母、{} 字符

根据新要求进行编辑 - 您希望匹配以文字{开头的内容,然后在范围内至少有一个字符>AZ,然后是结束 }。这给出了正则表达式:

{[A-Z]+}

因此您可以匹配整个正则表达式:

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

This sounds like a good case to use regular expressions. In particular, regexes allow one to match a range of characters - [A-Z{}] would match any character which is either an uppercase letter, {, or }.

EDIT based on new requirements - you want to match something that starts with a literal {, then has at least one character in the range A-Z, then a closing }. Which gives the regex:

{[A-Z]+}

Thus you could match against the entire regex:

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
知足的幸福 2024-12-01 09:53:57

在这种情况下,请使用:

/^{[A-Z]+}$/.test(str);

正则表达式表示以下格式的任何字符串:

  • 首先是 {
  • 然后是一个或多个大写字母
  • 然后是 }

^...$< /code> 确保字符串应该完全是这种形式,而不仅仅是子字符串(否则 test{AAA} 也会匹配)。

In that case use:

/^{[A-Z]+}$/.test(str);

The regexp represents any string of the format:

  • First a {
  • Then one or more capital letters
  • Then a }

The ^...$ makes sure that the string should be exactly of this form, rather than a substring only (otherwise test{AAA} would match too).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文