用boost的正则替换解决问题
来源:互联网 发布:网络歌曲2017 编辑:程序博客网 时间:2024/06/06 03:28
近日有一个网友问我如下的文本怎么替换
内容如下:
<p class=MsoNormal align=center style='text-align:center'>1. THUNBERGIA
Retzius, <span style='color:black'>Physiogr. S鋖sk. Handl.</span> 1(3): 163.
1780. nom. cons.</p>
<p class=MsoNormal align=center style='text-align:center'>1. <b>THUNBERGIA</b>
Retzius, <span style='color:black'>Physiogr. S鋖sk. Handl.</span> 1(3): 163.
1780. nom. cons.</p>
<p class=MsoNormal align=center style='text-align:center'>1. THBByERGIA
Retzius, <span style='color:black'>Phyddfogr. S鋖sk. Hanghl.</span> 1(6): 178.
1780. nom. cons.</p>
有三段<p>标记的文本,其中第二段有<b>标记
需要替换的规则是,在包含有<b>的标记的<p>段落的前后各加一些自定义的字符串,就是替换以后需要是这样:
<p class=MsoNormal align=center style='text-align:center'>1. THUNBERGIA
Retzius, <span style='color:black'>Physiogr. S鋖sk. Handl.</span> 1(3): 163.
1780. nom. cons.</p>
前填充<p class=MsoNormal align=center style='text-align:center'>1. <b>THUNBERGIA</b>
Retzius, <span style='color:black'>Physiogr. S鋖sk. Handl.</span> 1(3): 163.
1780. nom. cons.</p>后填充
<p class=MsoNormal align=center style='text-align:center'>1. THBByERGIA
Retzius, <span style='color:black'>Phyddfogr. S鋖sk. Hanghl.</span> 1(6): 178.
1780. nom. cons.</p>
一般的文本替换肯定实现不了,因为涉及一定的规则了,正好本人新发布的《超级批量文本替换 5.0》支持正则功能可以实现这样的替换
1、选择正则替换功能
2、查找字符串:(</s*p[^>]*>[^<]*?</s*b[^>]*>.*?</s*/b/s*>(.|/r/n)*?</s*/p/s*>)
3、替换为:前填充/1后填充
点替换就可以实现该网友的功能,超级批量文本替换的正则用的是boost的正则库,具体的语法可以参见本blog之前的文章
http://blog.csdn.net/fjye/archive/2008/02/02/2078716.aspx
- 用boost的正则替换解决问题
- [Boost]_[使用boost库的正则匹配模块替换字符串]
- boost正则简单字符串替换笔记
- 正则的替换功能
- Notepad++的正则表达式替换和替换
- boost::preprocessor库的计算替换
- 用std::thread替换实现boost::thread_group
- 替换超链接的正则表达式
- Coldfusion的正则表达式替换。
- VS2005的正则表达式替换
- 正则替换汉字的方法
- 正则表达式的替换技巧
- 求一替换的正则
- PHP的正则替换-零碎
- 正则表达式(解决问题)帖
- 用正则表达式替换不规则的回车换行。(C#)
- java使用replaceAll的正则表达式替换,非常好用
- Notepad++用正则表达式替换包含特定字符串的链接
- SQL视图的使用
- 让人吃惊的做法,给返回值赋值(C++)
- 3月18日工作日志-88250
- liferay 研究系列
- 在C#.net中如何操作XML
- 用boost的正则替换解决问题
- Eclipse 4.0计划
- 中国惠普前总裁 孙振耀的毕生经验之谈(cpy)
- Dev C++的编译错误
- 在月底之前把走过的路总结一下,做过的东西整理一下,时间真紧啊
- 我的求职信
- jsp打开excel
- C#实现WinForm下DataGridView控件的拷贝和粘贴
- [原]Oralce的to_date函数一个容易被误用的用法