[ale] regexp help
Jason Day
jasonday at worldnet.att.net
Thu Sep 15 13:17:59 EDT 2005
On Thu, Sep 15, 2005 at 12:55:38PM -0400, David Hamm wrote:
> Can anyone tell me how to convert the case of the file name referenced in the
> following line.
>
> src="../images/XyZ.gif" to src="../images/xyz.gif"
>
> I'm working with s/src\=\".*\"/ but don't know how to specify changing the
> case to lower in the replacement side of the regular expression.
You could use this:
s/src="\([^"]*\)"/\Lsrc="\1"\E/g
The \L in the replacement pattern means "convert everything to lowercase
until you see a '\E'". This works in sed and vi. If you're using perl,
omit the backslashes in front of the parentheses and change \1 to $1:
s/src="([^"]*)"/\Lsrc="$1"\E/g
Note that I changed your match pattern slightly. The pattern you had,
/src=\".*\"/, is likely to have unintended side effects, because it will
do a greedy match. For example, if your html has the following line:
<img src="../Foo.GIF"> Blah blah blah Verbage, etc. <img src="../BAR.Gif">
Then all the verbage between the two image tags would get lowercased as
well, which is probably not what you want.
HTH,
Jason
--
Jason Day jasonday at
http://jasonday.home.att.net worldnet dot att dot net
"Of course I'm paranoid, everyone is trying to kill me."
-- Weyoun-6, Star Trek: Deep Space 9
More information about the Ale
mailing list