in reply to Regex question - either starts, or has newline prefixing?
I am not really sure what the output you want is? Can you give an example of what you want the output to be?
do you want to capture the newline? skip it? if you want to match whether it is there or not you could try :
while ($section =~ m|(?:\n)?\=\=\=([a-z0-9_ &\[\]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎ +ïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»()"\s\-]+)\=\=\=|g) { push @subheaders, $1; }
But this is makes no sense. I think your regex may no longer be working because your $section (the example data given?) is one big string (with \n's) in it.So doing a global pattern match (m//g) and including ^ to specify only a match at the start breaks your successful pattern because you are not matching against your input line by line (where ^ would be applicable) but as one big string, so it will only match the very start of the string, i.e. the "==Introduction==" bit, regardless of the /g modifier.
Wow, went on a bit there. In short, your pattern is failing because you are matching against a slurp, not line by line, so the ^ breaks your pattern.
This perlfaq might help.
Alternately i have totally missed the point and should pipe down.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Regex question - either starts, or has newline prefixing?
by ultranerds (Hermit) on Jul 13, 2009 at 12:45 UTC | |
by BioLion (Curate) on Jul 13, 2009 at 12:53 UTC |