javascript - RegEx - 查找模式之间的字符串

标签 javascript regex

我是正则表达式的新手,我正在努力寻找模式内的字符串。

我有这个字符串:

{"linha":""},
{"linha":"              REDE GETNET"},
{"linha":"               SANTANDER"},
{"linha":""},
{"linha":"20/04/15 09:07:32 AUT:006299 DOC:000235"},
{"linha":"EC:000000000370484 TERM: T0385403    M"},
{"linha":"CV:010000024       CAIXA:00003333"},
{"linha":""},
{"linha":"CARTAO              ************2125"},
{"linha":""},
{"linha":"            CREDITO A VISTA"},
{"linha":"VALOR:        12,00"},
{"linha":""},
{"linha":"  ______________________________"},
{"linha":"         ASSINATURA"},
{"linha":""}, 
{"linha":""},
{"linha":"CUPOM: 00000000000000        MAC: 9235"},
{"linha":"NSU_CTF: 001899  LOJA: 0019  PDV: 897"},
{"linha":""},
{"linha":""}

我想查找以下之间的情况:

{"linha":

},

仅获取冒号后双引号中的字符串。

到目前为止我的正则表达式是:

(\{".*(linha).[:])

而且它只是

{"linha":

有人可以帮助我吗?我打算用 JavaScript 来做。

最佳答案

Javascript 解决方案:

使用正则表达式:

var input_str = '{"linha":""},{"linha":"              REDE GETNET"},{"linha":"               SANTANDER"},{"linha":""},{"linha":"20/04/15 09:07:32 AUT:006299 DOC:000235"},{"linha":"EC:000000000370484 TERM: T0385403    M"},{"linha":"CV:010000024       CAIXA:00003333"},{"linha":""},{"linha":"CARTAO              ************2125"},{"linha":""},{"linha":"            CREDITO A VISTA"},{"linha":"VALOR:        12,00"},{"linha":""},{"linha":"  ______________________________"},{"linha":"         ASSINATURA"},{"linha":""}, {"linha":""},{"linha":"CUPOM: 00000000000000        MAC: 9235"},{"linha":"NSU_CTF: 001899  LOJA: 0019  PDV: 897"},{"linha":""},{"linha":""}'
var re = new RegExp('linha*\":(".*")', 'g'); 
var myArray;
while ((myArray = re.exec(input_str)) !== null) {
  var msg = 'Found ' + myArray[1];
  console.log(msg);
}

使用 JSON.parse:请注意,我添加了 [] 将字符串包装为 JSON 数组。

var input_str1 = '[{"linha":""},{"linha":"              REDE GETNET"},{"linha":"               SANTANDER"},{"linha":""},{"linha":"20/04/15 09:07:32 AUT:006299 DOC:000235"},{"linha":"EC:000000000370484 TERM: T0385403    M"},{"linha":"CV:010000024       CAIXA:00003333"},{"linha":""},{"linha":"CARTAO              ************2125"},{"linha":""},{"linha":"            CREDITO A VISTA"},{"linha":"VALOR:        12,00"},{"linha":""},{"linha":"  ______________________________"},{"linha":"         ASSINATURA"},{"linha":""}, {"linha":""},{"linha":"CUPOM: 00000000000000        MAC: 9235"},{"linha":"NSU_CTF: 001899  LOJA: 0019  PDV: 897"},{"linha":""},{"linha":""}]'
var parsed_json = JSON.parse(input_str1); 
console.log(parsed_json);
parsed_json.forEach(x => console.log(x.linha))

关于javascript - RegEx - 查找模式之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49942309/

相关文章:

javascript - 如何将 bool 值从 viewbag 传递到 jQuery 端?

regex - 正则表达式 - 最多包含 1 个子字符串

regex - 通过使用正则表达式识别第一个数字来分隔字符串

java - 将某个条件中的所有字符串字符替换为变量值

python - 如何在 url conf 中获取该字符串的正确正则表达式?

javascript - 为什么使用 mongoose 删除 mongodb 集合中的数据后集合模式的长度没有改变?

javascript - Fabricjs 裁剪/用白色替换部分背景图像

javascript - 从源代码构建 WysiHat?

javascript - 阻止表单提交但保留表单验证

javascript - 抓取出现所选单词的句子