如何在JavaScript中将字符串与括号匹配?

时间:2015-08-04 15:00:56

标签: javascript regex string pattern-matching

这似乎应该简单直接,但我无法解决这个问题。

使用jQuery,我想使用Regex将字符串与其括号匹配。

这是我尝试匹配的字符串:(CA)

这是我的正则表达式:(/\(([A-Z]{2})\)/)

我也尝试过使用new RegExp("\\(([A-Z]{2})\\)")

无论我尝试什么,我总是在我的控制台中收到Unrecognized expression: (CA)错误消息。

我做错了什么?任何建议将不胜感激!

谢谢!

编辑8月4日@ 9:09 GMT-7

这是我的完整代码:

<div class="athlete-name">Random Joe</div> <div class="high-school">Jonah Lomu Senior (CA)</div>

成功匹配后,(CA)将替换为<img src="/img/flag/ca.svg"/>

1 个答案:

答案 0 :(得分:1)

This is the regex that you want to match the string.

(\([A-Z]{2}\))

Here's how it would work.

var s = "(CA)";
var r = /(\([A-Z]{2}\))/;

if(r.test(s)){
    alert('Matched!');
}

Give your edit, here's how it might be used.

$('div').each(function() {
    var s = $(this).html();
    var r = s.replace(/(\([A-Z]{2}\))/, '<img src="/img/flag/ca.svg"/>');  
    $(this).html(r);
});