in reply to Re: regex replace problem
in thread regex replace problem

One of the following two options should work for all cases you listed. I had to use two because I don't know what your desired result is for the 'href' line.

OPTION 1
If you want your example
"href="tbgl_SetMaterialDiffuse.htm">
to look like
"href="SetMaterialDiffuse.htm_gl">
you should use the following:

$tmp =~s/TBGL_([a-z]+(\.[a-z]+)?)/$1_gl/i;

OPTION 2
If you want that example to look like
"href="SetMaterialDiffuse_gl.htm">
use this:
$tmp =~s/TBGL_([a-z]+)/$1_gl/i;

I hope this helps :)

Here is a quick script to test the cases

#!/usr/bin/perl use strict; my @lines = ( 'title>TBGL_SetMaterialDiffuse</title', 'Heading1">TBGL_SetMaterialDiffuse</span', 'href="tbgl_SetMaterialDiffuse.htm">', '">tbgl_SetMaterialDiffuse</', 'f_Code_Keyword">TBGL_DeleteMaterial</span' ); foreach my $tmp (@lines) { print "$tmp\n"; #$tmp =~s/TBGL_([a-z]+(\.[a-z]+)?)/$1_gl/i; #case 1 $tmp =~s/TBGL_([a-z]+)/$1_gl/i; #case 2 print "$tmp\n\n"; }

Replies are listed 'Best First'.
Re^3: regex replace problem
by Anonymous Monk on Nov 18, 2010 at 21:06 UTC
    thank you wallisds , your second regex works well ,
    i have applied it to the htm file and replaced the words as expected
    thanks