为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MMMHUHU 2019-07-22 16:31:09
正则表达式以获取Javascript中括号之间的字符串我正在尝试编写一个正则表达式,它返回一个字符串,该字符串位于括号之间。例如:我希望得到驻留在字符串“(”和“)之间的字符串。I expect five hundred dollars ($500).会回来$500发现正则表达式以获取Javascript中两个字符串之间的字符串但我是新来的regex。我不知道如何在regexp中使用‘(’,‘)
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您需要创建一组转义(用\)括号(与括号匹配)和创建捕获组的一组常规括号:

var regExp = /\(([^)]+)\)/;

var matches = regExp.exec("I expect five hundred dollars ($500).");


//matches[1] contains the value between the parentheses

console.log(matches[1]);

细目:

  • \(

    :匹配开头括号
  • (

    *开始捕获组
  • [^)]+

    :匹配一个或多个非

    )

    人物
  • )

    *终端捕获小组
  • \)

    :匹配结束括号

下面是对雷加


查看完整回答
反对 回复 2019-07-22
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

尝试字符串操作:

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));}


查看完整回答
反对 回复 2019-07-22
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

移植格林先生的回答到函数式编程样式,以避免使用临时全局变量。

var matches = string2.split('[')
  .filter(function(v){ return v.indexOf(']') > -1})
  .map( function(value) { 
    return value.split(']')[0]
  })


查看完整回答
反对 回复 2019-07-22
  • 3 回答
  • 0 关注
  • 1457 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信