使用 Javascript RegEx 匹配 “{CHARACTERS}”

Matching "{CHARACTERS}" using Javascript RegExp

本文关键字:CHARACTERS Javascript RegEx 匹配 使用      更新时间:2023-09-26

尽管知道如何用其他语言(如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>

如前所述,您当前的模式应该会导致 JavaScript 语法错误。以下是我看到的问题:

  • 您的^字符在实际正则表达式之外。
  • 您有两个正则表达式结束字符 (/ )。
  • 请参阅@kopischke关于为什么我删除{1,}部分的回答。

这应该可以解决您的问题:

/^{(.+)}$/i

字符串开始/字符串结束代码属于正则表达式。此外,您的重复代码不必要地复杂。最后,匹配任何字符时无需指示大小写独立性。这应该可以做到:

patt1 = /^{.+}$/