我试图写一个正则表达式,它返回一个字符串是括号之间。例如:我想获得位于字符串"("和")"之间的字符串
I expect five hundred dollars ($500).
将返回
$500
发现正则表达式在Javascript中获得两个字符串之间的字符串
我不知道如何在regexp中使用'(',')'。
我试图写一个正则表达式,它返回一个字符串是括号之间。例如:我想获得位于字符串"("和")"之间的字符串
I expect five hundred dollars ($500).
将返回
$500
发现正则表达式在Javascript中获得两个字符串之间的字符串
我不知道如何在regexp中使用'(',')'。
当前回答
对于货币符号后面的数字:\(.+\s*\d+\s*\)应该可以
或\(.+\)表示括号内的任何内容
其他回答
简单: (? <价值 >(?<=\().*(?=\)))
我希望我能帮上忙。
你需要创建一组转义(带\)圆括号(与圆括号匹配)和一组常规圆括号来创建你的捕获组:
var regExp = /\(([^)]+)\)/; var matches = regExp。exec(“我期望500美元。”); //匹配[1]包含括号之间的值 console.log(匹配[1]);
分解:
\(:匹配开括号 (:开始捕获组 [^)]+:匹配一个或多个非)字符 ):结束捕获组 \):匹配右括号
下面是RegExplained上的一个可视化解释
对于货币符号后面的数字:\(.+\s*\d+\s*\)应该可以
或\(.+\)表示括号内的任何内容
尝试字符串操作:
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]);
}
或regex(与上面的相比,它有点慢)
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));
}
let str = "括号前(括号内)括号后".replace(/.*\(|\). "* / g,”); console.log(str) //括号内