我想编写一个正则表达式,该表达式返回括号之间的字符串。例如:我想获取位于字符串“(”和“)”之间的字符串
I expect five hundred dollars ($500).
会回来
$500
找到正则表达式以获取Javascript中两个字符串之间的字符串
但是我对regex并不陌生。我不知道如何在正则表达式中使用'(',')'
您需要创建一组转义的(带有\
)括号(与括号匹配)和一组常规的括号来创建捕获组:
var regExp = /\(([^)]+)\)/;
var matches = regExp.exec("I expect five hundred dollars ($500).");
//matches[1] contains the value between the parentheses
console.log(matches[1]);
分解:
\(
:匹配左括号(
:开始捕获组[^)]+
:匹配一个或多个非)
字符)
:结束捕获组\)
:匹配右括号这是RegExplained的直观说明
+1不错,像魅力一样运作。我想添加您,以便您在视觉上添加此tinyurl.com/mog7lr3。
@ user1671639:已更新。感谢您的链接!
如果要捕获的括号中有括号,则此方法不起作用。如:“我希望有500美元(500美元(但我知道我再也看不到那笔钱了))”。
仅当每个字符串匹配一个实例时,此正则表达式才有效。使用全局
/g
标志将无法按预期工作。如果您在圆括号内有多个字符串,例如:“我希望(五)百美元(500美元)”,那该怎么办呢?假设我要这些特殊字符串的数组。