正则表达式:捕获2个引号之间的文本并创建新字符串

时间:2016-04-07 22:55:56

标签: regex capture

我有以下字符串

 { language: 'da', region: 'DK' },

我想将其转换为

grunt get-screenshot:da:DK

在引号之间捕捉文本很容易

 '([a-z]{2})'

但我怎样才能得到第二个被认为是新的匹配。我可以假设格式始终保持,即引号之间的文本恰好是2个字符长度,第一个字符在'

之后

1 个答案:

答案 0 :(得分:0)

以下内容如何:

var s = "{ language: 'da', region: 'DK' },";
var m = s.match(/'(\w\w)',.*?'(\w\w)'/);
var cmd = "grunt get-screenshot:" + m[1] + ":" + m[2];

匹配m的结果是数组:

["'da', region: 'DK'", "da", "DK"]