我是正则表达式的新手,我正在努力寻找模式内的字符串。
我有这个字符串:
{"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/