4

文字列に特定の文字セットのみが含まれている場合、どうすればわかります{ A-Z}

例えば

  • {VARIABLE}=>trueを返す必要があります
  • {VARiABLE}i=>内部に小文字があるため、falseにする必要があります
  • { VARIABLE}=>スペースなどがあるため、falseにする必要があります。

ああ、非常に重要です:

{文字列には、との間に少なくとも1文字が}必要です。したがって、次のようになります。

  • {}偽である必要があります...
4

7 に答える 7

6

これは、正規表現を使用するのに適したケースのように思えます。特に、正規表現を使用すると、文字の範囲に一致させることができます。[A-Z{}]大文字、、、{またはのいずれかである任意の文字に一致します}

新しい要件に基づいて編集します-リテラルで始まり{、範囲内に少なくとも1つの文字がありA-Z、次に終了するものと一致させたいとします}。これは正規表現を与えます:

{[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
于 2011-07-14T14:50:48.827 に答える
6

その場合、以下を使用します。

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

正規表現は、次の形式の任意の文字列を表します。

  • 最初に{
  • 次に、1つ以上の大文字
  • 次に、}

^...$、文字列が部分文字列のみではなく、正確にこの形式である必要があることを確認します(そうでない場合test{AAA}も一致します)。

于 2011-07-14T14:54:19.147 に答える
2

この正規表現を使用します:^[A-Z{}]+$。それは許可A-Zし、{}

于 2011-07-14T14:51:09.327 に答える
2

負の正規表現一致を実行します。のようなものに一致/[^A-Z{}]/して成功した場合、文字列には「許可されていない」ものが含まれています。

于 2011-07-14T14:51:52.763 に答える
1

この正規表現を試してください...

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

/^[{}A-Z]+$/.test("{VARIABLE}") // => true
于 2011-07-14T14:50:53.193 に答える
1

この式を使用します。

[AZ {}] *

ここで、角かっこ[]はどの文字が存在するかを示し、*はこのパターンが複数回繰り返される可能性があることを示しています。

于 2011-07-14T14:52:37.647 に答える
1

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}の場合、alert( "これは正しい値です。はい、正しいです")を返します。

于 2011-07-14T14:59:10.130 に答える