1

C#やPHPなどの他の言語でそれを行う方法を知っているにもかかわらず、私は正規表現マッチングのJavascriptバージョンに本当に苦労しています。

合わせたい{ANYCHARACTERS}です。

それは持っている必要があります:

  • {開始時に
  • }最後に
  • 1つ以上の文字(任意の文字、記号など)

これまでのところ、私は次のものを持っています:

<script type="text/javascript">

// The string that I want to perform a match on
var str = "{ASTRINGINHERE£$%^&*éáó}";

// Mt Matching expression
var patt1 = ^/{(.*){1,*}/}$/i;

// Write the matched result
document.write(str.match(patt1));

</script>
4

2 に答える 2

7

書かれているように、現在のパターンではjavascript構文エラーが発生するはずです。これが私が見る問題です:

  • あなたは^実際の正規表現の外にあなたのキャラクターを持っています。
  • 2つの正規表現の終了文字(/)があります。
  • その部分を削除した理由については、@kopischkeの回答を参照してください{1,}

これで問題が解決するはずです。

/^{(.+)}$/i
于 2012-06-15T18:16:01.980 に答える
3

文字列の開始/文字列の終了コードは正規表現内にあります。また、繰り返しコードは不必要に複雑です。最後に、任意の文字に一致する場合、大文字と小文字の区別を示す必要はありません。これは行う必要があります:

patt1 = /^{.+}$/
于 2012-06-15T18:21:00.563 に答える