17-应用实例:提取HTML标签 修剪空白字符

1. 正则表达式应用实例

下面一系列文章中我会介绍许多正则表达式的使用模式和应用实例,它们在实际工作中非常有用。每一个例子中所使用的正则特性都已经在之前的文章中介绍过。如果你想查看这些特性的具体介绍,你可以点击文章中的链接。

对于正则的初学者而言,学习这些应用实例可以让你知道正则表达式能胜任什么样的工作。正则表达式的功能非常强大。虽然学习正则表达式略有难度,但是正则表达式可以高效的完成字符搜索,节约大量开发时间。

2. 提取HTML标签

<TAG\b[^>]*>(.*?)</TAG>可以匹配一对HTML标签,标签内的内容会保存到第1个回溯引用。表达式中的?是的*成为一个惰性匹配,也就是说它会在字符串的首个闭合标签前停止,而不是在最后闭合标签前停止。这个表达式无法匹配嵌套的标签,例如<TAG>one<TAG>two</TAG>one</TAG>

<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>可以匹配任意的一对HTML标签。注意你需要关闭大小写敏感。这个表达式的关键是回溯引用\1。标签之间的内容会保存在第2个回溯引用中。这个方法同样不能匹配嵌套了相同标签的字符串。

修剪空白字符

通过正则匹配和替换,你可以快速的修剪文本中的空白,包括字符串的开头和结尾处的空白字符,以及文件中的空白字符。你可以使用^[ \t]+匹配字符串开头的空白字符(空格和制表符)。[ \t]+$可以匹配结尾的空白字符。你可以把这两个表达式通过选择符组合起来,也就是^[ \t]+|[ \t]+$。你可使用字符集取代[ \t],这样就可以任何你想匹配的空白字符,例如[ \t\r\n]可以匹配换行符。你也可以使用字符集的缩写,例如[\s]


如果文章出现错误,请给我提Issues - -
Github地址

原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值