Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: regex match word , don't match word preceeded by slash

by kcott (Archbishop)
on Nov 19, 2010 at 02:26 UTC ( [id://872407]=note: print w/replies, xml ) Need Help??


in reply to regex match word , don't match word preceeded by slash

I've expanded the solution so it's a bit easier to read:

$string =~ s{ (?<![-\w./]) ( \s? [-\w.]* $item [-\w.]* \s? ) }{<b>$1<\/b>}gimsx;

Test output:

$ regex_slash_prob.pl <a href="/cgi-programming-with-perl.zip"><b>cgi-programming-with-perl. +zip</b></a>

Update:

While the solution above answers your question, consider the following.

If the HTML actually looks more like this:

my $string = qq| <a href="/cgi-programming-with-perl.zip"> cgi-programming-with-perl.zip </a> |;

Your output will look like:

<a href="/cgi-programming-with-perl.zip"> <b> cgi-programming-with-perl.zip </b> </a>

If you'd prefer it to look like:

<a href="/cgi-programming-with-perl.zip"> <b>cgi-programming-with-perl.zip</b> </a>

Remove both \s? lines, leaving:

$string =~ s{ (?<![-\w./]) ( [-\w.]* $item [-\w.]* ) }{<b>$1<\/b>}gimsx;

You had them in your original so I left them in thinking they perhaps served some other purpose in the real data you're working on (as the string you posted contained no whitespace at all).

-- Ken

Replies are listed 'Best First'.
Re^2: regex match word , don't match word preceeded by slash
by lepetitalbert (Abbot) on Nov 19, 2010 at 02:40 UTC

    Hi kcott,

    works like a charm !
    thank you very much :)

    Have a nice day !

    "There is only one good, namely knowledge, and only one evil, namely ignorance." Socrates

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2024-03-28 10:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found