在两个圆括号之间获取文本

时间:2012-08-21 16:31:54

标签: javascript regex

如何使用JavaScript中的正则表达式从下一句中的两个圆括号中检索单词my

  

“这是(我的)简单文字”

7 个答案:

答案 0 :(得分:69)

console.log(
  "This is (my) simple text".match(/\(([^)]+)\)/)[1]
);

\(正在打开大括号,( - 子表达式的开始,[^)]+ - 除了右括号一次或多次之外的任何内容(您可能希望将+替换为{{ 1}}),* - 子表达式结束,) - 结束括号。 \)返回一个数组match(),从中提取第二个元素。

答案 1 :(得分:13)

var txt = "This is (my) simple text";
re = /\((.*)\)/;
console.log(txt.match(re)[1]);​

<强> jsFiddle example

答案 2 :(得分:8)

您也可以尝试非正则表达式方法(当然,如果有多个这样的括号,它最终将需要循环或正则表达式)

init = txt.indexOf('(');
fin = txt.indexOf(')');
console.log(txt.substr(init+1,fin-init-1))

答案 3 :(得分:3)

适用于希望在多个方括号中返回多个文本的人

var testString = "(Charles) de (Gaulle), (Paris) [CDG]"
var reBrackets = /\((.*?)\)/g;
var listOfText = [];
var found;
while(found = reBrackets.exec(testString)) {
  listOfText.push(found[1]);
};

答案 4 :(得分:0)

在圆括号内返回多个项目

 var res2=str.split(/(|)/);

  var items=res2.filter((ele,i)=>{
  if(i%2!==0) {
  return ele;
  }
});

答案 5 :(得分:0)

从字符串公式中获取字段。

var txt = "{{abctext/lsi)}} = {{abctext/lsi}} + {{adddddd}} / {{ttttttt}}";
re = /\{{(.*?)\}}/g;
console.log(txt.match(re));

答案 6 :(得分:0)

使用它来获取最近的 () 之间的文本:

const string = "This is (my) (simple (text)"
console.log( string.match(/\(([^()]*)\)/)[1] )
console.log( string.match(/\(([^()]*)\)/g).map(function($0) { return $0.substring(1,$0.length-1) }) )

结果my["my","text"]

说明

--------------------------------------------------------------------------------
  \(                       '('
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    [^()]*                   any character except: '(', ')' (0 or
                             more times (matching the most amount
                             possible))
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  \)                       ')'