我只想在()内查找文本,但indexOf返回完整键值
var str = "some textsome textsome text(texttext)some text"
var arrSplit = str.split(' ')
for(var i = 0; i < arrSplit.length; i++){
if(arrSplit[i].indexOf('(') >= 0) {
console.log(arrSplit[i])
}
}
结果
文字(texttext)一些
我需要
(文字文字)
最佳答案
尝试regex:
str.match(/\([A-Za-z]*\)/g); // will match all occurrences
您可以根据需要匹配的内容在
[]
中添加更多零件。例如,如果要包括数字,请输入0-9
。只需避免使用.*
即可,因为这会将"(test) nope! (test)"
之类的内容作为一个块进行匹配。本质上,此正则表达式的要旨是您希望括号之间的所有大写/小写字母都正确。因为括号表示正则表达式中的分组,所以必须对括号进行转义(因此用
\(
代替(
)。