繁体   English   中英

使用Javascript RegExp匹配“ {CHARACTERS}”

[英]Matching “{CHARACTERS}” using Javascript RegExp

尽管我知道如何用其他语言(例如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语法错误。 这是我看到的问题:

  • 您的^字符不在实际的正则表达式中。
  • 您有两个正则表达式结尾字符( / )。
  • 有关为什么删除{1,}部分的信息{1,}请参见@kopischke的答案。

这样可以解决您的问题:

/^{(.+)}$/i

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

patt1 = /^{.+}$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM