• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 328
  • Last Modified:

Regex ignoring new lines

Im trying to write a regular expression to break apart a string, however it seems to ignore new lines.

What Im trying to do is:-
diag
So, Ive done the following:-
`\[(b|i|size|code|color|center|quote|url|img)=?(.*?)\](.+?)\[/\1\]`

Open in new window


Which works great with this test data:-
Sample 1
However if I include some new lines inbetween the tags, its ignored completly:-
Sample 2
Ive looked around, and from what I understand it should be including the new lines with the `\[(b|i|size|code|color|center|quote|url|img)=?(.*?)\](.+?)\[/\1\]`

Anyone know how I can change the "(.+?)\" to include new lines?
0
tonelm54
Asked:
tonelm54
1 Solution
 
käµfm³d 👽Commented:
Use "single-line mode". You haven't specified which language you are using, but most likely you simply need to add an "s" to the end of your pattern--outside of the delimiters:

`\[(b|i|size|code|color|center|quote|url|img)=?(.*?)\](.+?)\[/\1\]`s

Open in new window


By default, a dot will never match a newline. In order to change this, you enable single-line mode.

Do not confuse single-line mode with "multi-line mode", as many people do. Multi-line mode affects ^ and $, and does nothing to the behavior of dot.
0
 
tonelm54Author Commented:
It was php, but that worked great, thank you :-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now