Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^4: wiki regex reprocessing replacement

by LanX (Sage)
on Feb 17, 2020 at 00:55 UTC ( #11113032=note: print w/replies, xml ) Need Help??

in reply to Re^3: wiki regex reprocessing replacement
in thread wiki regex reprocessing replacement

> especially as regards the "questionable" ones

Yes sorry.

I didn't want to over complicate the question, and just wrote .*? between the markup.

Actually I'm using now something like (\S.*?(?<=\S)) to enforce at least one non-whitespace between the markers.

The objective of the question was "How best to allow * / _ to be chained and or nested".

The recursive approach does it already pretty well.

And actually nesting these markups is of rather low priority in the to-do list

> Can you supply some test cases for variations, especially WRT intermixtures with standard HTML?

That's my project: Wikisyntax for the Monastery =)

JS-regex is mostly compatible to Perl4 regex.

these are some tests I use ATM

sub is_tf { my ($in,$out,$label) = @_; is( rec( $in ) => $out => "$label: \t'$in'\t->\t'$out'" ); } sub no_tf { my ($in,$label) = @_; is_tf($in,$in,$label); } no_tf( '**' => "no letter" ); is_tf( '*A*' => '<b>A</b>' => "one letter"); is_tf( '*A B*' ,'<b>A B</b>' , "multi word"); no_tf( '* A*' , "before non-whitespace"); no_tf( '*A *' , "after non-whitespace"); no_tf( "*A\nB*" , "line break"); is_tf( '*A *B*' ,'<b>A *B</b>' , "after non-whitespace prolonged"); is_tf( '/**/' ,'<i>**</i>' , "nested no letter");

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11113032]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2021-10-21 19:11 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (83 votes). Check out past polls.