在几个文本中打破一个文本

时间:2015-11-03 21:27:12

标签: javascript regex

我有一个挑战。我有这样的文字:

$a = array( '_PMSChargeItems' => '[{"Date":"2012-09-07T00:00:00","Amount":0.0},{"Date":"2012-09-07T00:00:00","Amount":41.0},{"Date":"2012-09-07T00:00:00","Amount":64.0},{"Date":"2012-09-11T00:00:00","Amount":80.0},{"Date":"2012-09-11T00:00:00","Amount":474.0},{"Date":"2012-09-19T00:00:00","Amount":82.0},{"Date":"2012-09-19T00:00:00","Amount":125.0},{"Date":"2012-09-19T00:00:00","Amount":127.0},{"Date":"2012-09-19T00:00:00","Amount":174.0},{"Date":"2012-09-19T00:00:00","Amount":343.0},{"Date":"2012-09-19T00:00:00","Amount":618.0},{"Date":"2012-09-19T00:00:00","Amount":1122.0},{"Date":"2012-09-19T00:00:00","Amount":1122.0},{"Date":"2012-09-19T00:00:00","Amount":1122.0},{"Date":"2012-09-27T00:00:00","Amount":0.0},{"Date":"2012-10-02T00:00:00","Amount":0.0},{"Date":"2012-10-02T00:00:00","Amount":0.0},{"Date":"2012-10-10T00:00:00","Amount":0.0},{"Date":"2012-11-07T00:00:00","Amount":0.0},{"Date":"2012-11-19T00:00:00","Amount":64.0},{"Date":"2012-12-21T00:00:00","Amount":0.0},{"Date":"2013-02-01T00:00:00","Amount":0.0},{"Date":"2013-02-01T00:00:00","Amount":470.0},{"Date":"2013-02-01T00:00:00","Amount":470.0},{"Date":"2013-02-01T00:00:00","Amount":470.0},{"Date":"2013-02-01T00:00:00","Amount":625.0},{"Date":"2013-02-01T00:00:00","Amount":625.0},{"Date":"2013-02-01T00:00:00","Amount":679.0},{"Date":"2013-02-01T00:00:00","Amount":679.0},{"Date":"2013-02-01T00:00:00","Amount":679.0},{"Date":"2013-02-13T00:00:00","Amount":0.0},{"Date":"2013-02-18T00:00:00","Amount":0.0},{"Date":"2013-02-25T00:00:00","Amount":65.0},{"Date":"2013-02-25T00:00:00","Amount":85.0},{"Date":"2013-03-11T00:00:00","Amount":0.0},{"Date":"2013-03-14T00:00:00","Amount":0.0},{"Date":"2013-03-14T00:00:00","Amount":0.0},{"Date":"2013-03-20T00:00:00","Amount":240.0},{"Date":"2013-06-12T00:00:00","Amount":0.0},{"Date":"2013-07-23T00:00:00","Amount":0.0},{"Date":"2013-07-26T00:00:00","Amount":0.0},{"Date":"2013-08-23T00:00:00","Amount":0.0},{"Date":"2013-09-09T00:00:00","Amount":0.0},{"Date":"2014-08-04T00:00:00","Amount":0.0},{"Date":"2014-08-11T00:00:00","Amount":30.0},{"Date":"2014-08-11T00:00:00","Amount":66.0},{"Date":"2014-08-11T00:00:00","Amount":85.0},{"Date":"2014-09-02T00:00:00","Amount":0.0},{"Date":"2014-12-16T00:00:00","Amount":0.0},{"Date":"2015-01-09T00:00:00","Amount":0.0},{"Date":"2015-02-10T00:00:00","Amount":14.0},{"Date":"2015-02-10T00:00:00","Amount":16.0},{"Date":"2015-02-10T00:00:00","Amount":43.0},{"Date":"2015-02-10T00:00:00","Amount":130.0},{"Date":"2015-02-10T00:00:00","Amount":130.0},{"Date":"2015-02-10T00:00:00","Amount":250.0},{"Date":"2015-02-10T00:00:00","Amount":640.0},{"Date":"2015-02-23T00:00:00","Amount":0.0},{"Date":"2015-02-25T00:00:00","Amount":0.0},{"Date":"2015-02-25T00:00:00","Amount":0.0},{"Date":"2015-03-26T00:00:00","Amount":0.0},{"Date":"2015-05-21T00:00:00","Amount":0.0}]' );
print_r( json_decode( $a['_PMSChargeItems'] ) );

我想转变成这个:

Começo
O texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.

Começo
O texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.

Começo
O texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.

每个段落都以相同的单词开头和结尾。可以分开吗?问题是..文字有些段落没有空间来分隔它们:

var paragraphs = [
 [
  'Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.'
 ],

 [
  'Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.'
 ],

 [
  'Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.'
 ]
]

所以我在想......我怎么能这样做?我坚持以下逻辑:

Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.
Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.

这会在文字之间推送文字..但我想要所有的文字。

而且我没有收到我想要的......我希望收到这个数组...

谢谢你们。

1 个答案:

答案 0 :(得分:0)

考虑段落的时间不长,您可以使用[\s\S]*?延迟所有符号匹配:

Começo[\s\S]*?básicas de um texto dissertativo são

请参阅regex demo

请注意,延迟匹配将匹配返回有效匹配所需的少数字符(因此,最接近的最右侧básicas de um texto dissertativo são将是每个匹配的结尾)。要匹配包含换行符的任何单个符号,建议在JavaScript正则表达式中使用相反的速记类,但您可以使用特定于JS的[\s\S]替换[^]

此外,请注意您的正则表达式包含básico,而您的文字包含básicas

JS演示:



var re = /Começo[\s\S]*?básicas de um texto dissertativo são/g; 
// Or, dynamic building: var re = new RegExp(startsWith +'[\\s\\S]*?'+ endsWith, "g");
var str = 'Começo\nO texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.\n\nComeço\nO texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.\n\nComeço\nO texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.';
var m;
var arr = [];
while ((m = re.exec(str)) !== null) {
    arr.push(m[0]);
}
console.log(arr);