在Java中,我们知道String类型有public String replaceAll(String regex, String replacement) 函数,可以使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
例如:
1 public class RegexTest {2public static void main(String[] args) {3 String regex = "</?[?a-zA-Z]+[^><]*>|&[a-zA-Z]{1,10};";4 String replacement = "<title>小官仔 - 博客园</title>";5 System.out.println(replacement.replaceAll(regex, ""));6}7 }
这样我们就可以将 String 中的 html 部分替换掉。正则表达式的规则就不多说了,我觉得记也记不住,用的时候再查吧。
同样,在Oracle中,有时候会存放一些带 html 标签的内容,如何在取出来的时候替换掉这些标签,我们同样是使用正则表达式来实现,例如:
SELECT REGEXP_REPLACE(A.CONCLUSIONS, '</?[?a-zA-Z]+[^><]*>|&[a-zA-Z]{1,10};', '')from A,...where ...
这样即可在 select 的结果中将 html 的标签替换掉。
附录:正则表达式语法/zh-cn/library/ae5bf541(v=vs.90).aspx
正则表达式语法
Visual Studio更新: 年 11 月
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。
正则表达式示例
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: