In general, you probably don't want to pull out the m or s modifiers unless you are going to attempt to make a match across lines. Wisdom, if there were such, would follow the principle of parsimony. Solve simple problems simply, and save the bells and whistles for harder problems.
in reply to regexp need a match characters and spaces
My advice would be to process any multiline string in which you are only seeking to match within individual lines as an array of lines to match against individually. You've run afoul here of exactly the kind of problem that you should not even need to hanker with.
There is a reason why the newline character is such an important part of the regexp world. Don't go there, unless you have to. And when you do, you'll learn certain practices that become more important when matching across lines. Until, then solve your simple problems simply and move on.
Explaining to you the finer points of regexp design is not even appropriate at this point, as the principle of parsimony has precedence.