我试图写一个正则表达式,返回括号之间的字符串。例如:我想得到位于字符串(和)之间的字符串
I expect five hundred dollars ($500).
会返回
$500
在Javascript中找到正则表达式以获取两个字符串之间的字符串
但我是新来的正则表达式。我不知道如何在regexp中使用“(”,“)”
您需要创建一组转义(带\
)括号(与括号匹配)和一组常规括号,用于创建捕获组:
var regExp = /\(([^)]+)\)/;
var matches = regExp.exec("I expect five hundred dollars ($500).");
//matches[1] contains the value between the parentheses
console.log(matches[1]);
尝试字符串操作:
var txt = "I expect five hundred dollars ($500). and new brackets ($600)";
var newTxt = txt.split('(');
for (var i = 1; i < newTxt.length; i++) {
console.log(newTxt[i].split(')')[0]);
}
或正则表达式(与上面的相比有点慢)
var txt = "I expect five hundred dollars ($500). and new brackets ($600)";
var regExp = /\(([^)]+)\)/g;
var matches = txt.match(regExp);
for (var i = 0; i < matches.length; i++) {
var str = matches[i];
console.log(str.substring(1, str.length - 1));
}
简单解
注意:这个解决方案可以用于只有单个"("和")"的字符串,比如这个问题中的字符串。
("I expect five hundred dollars ($500).").match(/\((.*)\)/).pop();
在线演示(JSFIDLE)