正则表达式以获取Javascript中括号之间的字符串

正则表达式以获取Javascript中括号之间的字符串

我正在尝试编写一个正则表达式,它返回一个字符串,该字符串位于括号之间。例如:我希望得到驻留在字符串“(”和“)之间的字符串。

I expect five hundred dollars ($500).

会回来

$500

发现正则表达式以获取Javascript中两个字符串之间的字符串

但我是新来的regex。我不知道如何在regexp中使用‘(’,‘)



茅侃侃
浏览 311回答 3
3回答

哈士奇WWW

您需要创建一组转义(用\)括号(与括号匹配)和创建捕获组的一组常规括号:var regExp = /\(([^)]+)\)/;var matches = regExp.exec("I expect five hundred dollars ($500).");//matches[1] contains the value between the parenthesesconsole.log(matches[1]);细目:\(:匹配开头括号(*开始捕获组[^)]+:匹配一个或多个非)人物)*终端捕获小组\):匹配结束括号下面是对雷加

jeck猫

尝试字符串操作:var&nbsp;txt&nbsp;=&nbsp;"I&nbsp;expect&nbsp;five&nbsp;hundred&nbsp;dollars&nbsp;($500).&nbsp;and&nbsp;new&nbsp;brackets&nbsp;($600)";var&nbsp;newTxt&nbsp;=&nbsp;txt.split('(');for&nbsp;(var&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;<&nbsp;newTxt.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;console.log(newTxt[i].split(')')[0]);}或regex(这多少有点与上述情况相比缓慢)var&nbsp;txt&nbsp;=&nbsp;"I&nbsp;expect&nbsp;five&nbsp;hundred&nbsp;dollars&nbsp;($500).&nbsp;and&nbsp;new&nbsp;brackets&nbsp;($600)";var&nbsp;regExp&nbsp;=&nbsp;/\(([^)]+)\)/g;var&nbsp;matches&nbsp;=&nbsp;txt.match(regExp);for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;matches.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;str&nbsp;=&nbsp;matches[i]; &nbsp;&nbsp;&nbsp;&nbsp;console.log(str.substring(1,&nbsp;str.length&nbsp;-&nbsp;1));}

凤凰求蛊

移植格林先生的回答到函数式编程样式,以避免使用临时全局变量。var&nbsp;matches&nbsp;=&nbsp;string2.split('[') &nbsp;&nbsp;.filter(function(v){&nbsp;return&nbsp;v.indexOf(']')&nbsp;>&nbsp;-1}) &nbsp;&nbsp;.map(&nbsp;function(value)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;value.split(']')[0] &nbsp;&nbsp;})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript