Is it the same class for all the paragraphs you want to split on? Or does the number in "P-Chapter_20_Number" change? Is that "20" actually the chapter number? If that is the case, the your last test is getting close. I think the following should do it:
Code:
//*[re:test(@class, "P-Chapter", "i")]
And as you had to different classes in the first post, it would be:
Code:
//*[re:test(@class, "P-Chapter|P-Section", "i")]
If that doesn't work, and my spelling is correct, I think we need to see a sample of the book to get an idea of what to do.