正则表达式

正则表达式 知识量:10 - 22 - 55

8.3 回溯引用替换><

使用回溯引用进行替换- 8.3.1 -

正则表达式除了用于查找外,另一个主要用途就是进行替换,而是通常用于复杂的替换。使用回溯引用可以方便的进行复杂的替换操作。

示例文本:替换.com网址文本为可点击的链接。

Click www.baidu.com to baidu.Click www.163.com to netease.

正则表达式:

(www\.\w+\.com)

替换内容:

<a href="$1">$1</a>

结果:

New Text
Click <a href="www.baidu.com">www.baidu.com</a> to baidu.Click <a href="www.163.com">www.163.com</a> to netease.

以上回溯引用实现了对网站地址到链接的转换。其中,正则表达式整体需要用括号括起来成为一个子表达式,“$1”用于在替换内容中指向第一个子表达式,这是必要的格式。在JavaScript中语法是如此,但是该格式在其他不同的语言中,相关的规定很可能不同,应根据具体语法规定来操作。

使用回溯引用替换大小写- 8.3.2 -

回溯应用还可以用于大小写替换,这需要用到以下元字符。

元字符说明
\l把下一个字符转换为小写
\u把下一个字符转换为大写
\L把\L到\E之间的字符全部转换为小写
\U把\U到\E之间的字符全部转换为大写
\E结束\L或\U转换

如上所示,\l和\u是把它们相邻的下一个字符(或子表达式)转换为小写或大写。\L和\U会把从它们开始到\E结束的字符全部转换为小写或大写。

需要注意的是:只有部分正则表达式的实现(语言)支持以上元字符,使用前要先了解所用语言是否支持。

示例文本:

Click www.baidu.com to baidu.Click www.163.com to netease.

正则表达式:

(www\.\w+\.com)

替换内容:

\U$1\E

结果:

New Text
Click WWW.BAIDU.COM to baidu.Click WWW.163.COM to netease.