Q:

How to parse multiple line complex regex pattern? 

I'm trying to match this data

Combien ? 
Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum. 
Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum. 
Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum. 
Combien 2 ? 
Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 
Lorem ipsum. Lorem ipsum. Lorem ipsum. 
Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 

The pattern should match each question and with it's respective answer
Ex:
Question 1 = Combien

Answer 1 = Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 
Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 

I tried using positive lookahead (javascript ), but it didn't work. 
The pattern i tried:
^(.+)\xA0*(?=\?)\n* 
^(.+)\xA0*(?!\?)$

A:

You could use split with a capture group that will take the question:
str.split(/\s*?^(.*?)\s*\?\s*?[\r\n]+/m).slice(1);

The slice will skip any text that precedes the first question.  The result will be an array with an even number of entries, alternating question and answer. 

var str = `
Combien ? 

Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum. 

Combien 2 ? 

Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum.  Lorem ipsum. Lorem ipsum. Lorem ipsum.  Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 
`;

var qa = str.split(/\s*?^(.*?)\s*\?\s*?[\r\n]+/m).slice(1);

console.log(qa);

If you want the result in a nice object array, where each object has a question and answer property, then chain a reduce to the above code:
str.split(/\s*?^(.*?)\s*\?\s*?[\r\n]+/m).slice(1)
   .reduce((acc, m, i, arr) => 
       i%2 ?  acc.concat({ question: arr[i-1], answer: m.trim() }) : acc, 
   []);

var str = `
Combien ? 

Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum.  Lorem ipsum. 

Combien 2 ? 

Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum.  Lorem ipsum. Lorem ipsum. Lorem ipsum.  Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. 
`;

var qa = str.split(/\s*?^(.*?)\s*\?\s*?[\r\n]+/m).slice(1)
   .reduce((acc, m, i, arr) => 
       i%2 ?  acc.concat({ question: arr[i-1], answer: m.trim() }) : acc, 
   []);

console.log(qa);

