我有挑战。我有这段文字:

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.'
 ]
]


每个段落以相同的词开始和结束。有可能分开吗?问题是..文本somethings这段没有空格来分隔它们:

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 startsWith = 'Começo';
var endsWith   = 'básico de um texto dissertativo são';

var text = '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 reg = new RegExp('(.*'+ startsWith +'\s+)(.*)(\s+'+ endsWith +'.*)');
var match = reg.exec(text);


这将文本之间的文字..但我想要所有的文字。

而且我没有收到我想要的..我想收到带有参数的数组...

感谢大伙们。

最佳答案

考虑到段落不长,可以使用[\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正则表达式中使用相反的速记类,但是您可以将[\s\S]替换为JS特定的[^]

另外,请注意,您的正则表达式包含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);

07-24 17:39
查看更多