• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 305
  • 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

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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