4
Apr.2016
做数据迁移,发现旧数据的文章中包含有太多的WORD中的无用代码,于是想在SQL数据中做清理,最好的办法是使用正则表达式,对无用的代码做替换处理,使用Editplus或EverEdit都是非常不错的文本编辑器
使用了以下正测表达式:
匹配URL:
例子:
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017358034//Files/xinwen/2014/4/hw004.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017354093//Files/xinwen/2015/2/hw005.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017554075//Files/xinwen/2015/2/hw006.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073027354079//Files/xinwen/2016/4/hw007.jpg" width=600 border=0>
正测表达式:
替换为
结果:
<IMG height=855 alt="" src="res/Files/xinwen/2014/4/hw004.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2015/2/hw005.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2015/2/hw006.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2016/4/hw007.jpg" width=600 border=0>
匹配URL、HTML标签或标记、任意字符包括空格和换行符
例子:
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >毫米</span></st1:chmetcnv>
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >毫</span></st1:chmetcnv>
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >米</span></st1:chmetcnv>
四周留白约<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="8" HasSpace="False" Negative="False" NumberType="1" TCSC="0"><SPAN>8cm</st1:chmetcnv>,作品说明装于框内右下角(内容包括拍摄时间、地点,尺寸为长<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="12" HasSpace="False" Negative="False" NumberType="1" TCSC="0">12cm</st1:chmetcnv>×高<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="6" HasSpace="False" Negative="False" NumberType="1" TCSC="0">6cm</st1:chmetcnv>);</SPAN>书法、绘画作品尺寸一般为<SPAN>4尺整张——6尺整张(对开也可),竖幅装轴;硬笔书法不小于A3纸、装框。</SPAN>参赛作品需注明作者姓名、单位及作品含意
正测表达式:
替换为
结果:
<span lang="EN-US">4</span><span >毫米</span>
<span lang="EN-US">4</span><span >毫</span>
<span lang="EN-US">4</span><span >米</span>
四周留白约<SPAN>8cm,作品说明装于框内右下角(内容包括拍摄时间、地点,尺寸为长12cm×高6cm);</SPAN>书法、绘画作品尺寸一般为<SPAN>4尺整张——6尺整张(对开也可),竖幅装轴;硬笔书法不小于A3纸、装框。</SPAN>参赛作品需注明作者姓名、单位及作品含意,鼓励创作
匹配HTML标签,处理多余的p标签样式
例子:
<p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;text-indent: 37px;line-height: 21px;text-align: center;background-color: rgb(255, 255, 255)"> </p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;text-indent: 37px;line-height: 21px;text-align: center;background-color: rgb(255, 255, 255)"><strong>行政许可的项目及办理程序</strong></p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;line-height: 21px;background-color: rgb(255, 255, 255)">许可依据:《中华人民共和国公路法》、《路政管理规定》 </p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;margin: 0 0 0 77px;line-height: 21px;background-color: rgb(255, 255, 255)">办理机构:其中 除本细则第3条和第6条由各县路政大队审批外,其他许可事项由长治公路分局路政支队审批。</p>
正测表达式:
替换为
结果:
<p> </p><p><strong>行政许可的项目及办理程序</strong></p><p>许可依据:《中华人民共和国公路法》、《路政管理规定》 </p><p>办理机构:其中 除本细则第3条和第6条由各县路政大队审批外,其他许可事项由长治公路分局路政支队审批。</p>
匹配尖括号括起来的字母或数字(即HTML/XML标签)
正测表达式:
参考文档:
正则表达式30分钟入门教程 http://www.husw.net/tool/Regular%20Expression/zhengzhe-biaodashi-jiaocheng-se.htm
使用正则表达式匹配任意字符包括空格和换行符 http://www.uedsc.com/the-regular-expression-matches-any-character.html
正则表达式匹配任意字符(包括换行符)的写法 http://blog.csdn.net/liehuo123/article/details/6068823
正则表达式匹配URL或者网址 http://c.biancheng.net/cpp/html/1435.html
最后编辑: 我就是个世界 编辑于September 25, 2020 09:48
使用了以下正测表达式:
匹配URL:
引用
例子:
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017358034//Files/xinwen/2014/4/hw004.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017354093//Files/xinwen/2015/2/hw005.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073017554075//Files/xinwen/2015/2/hw006.jpg" width=600 border=0>
<IMG height=855 alt="" src="http://192.168.0.111/newlist.asp?ClassID=BX08073027354079//Files/xinwen/2016/4/hw007.jpg" width=600 border=0>
正测表达式:
(http|ftp|https):\/\/192\.168\.0\.111\/newlist.asp\?ClassID\=BX\d+//Files/xinwen/
替换为
res/Files/xinwen/
结果:
<IMG height=855 alt="" src="res/Files/xinwen/2014/4/hw004.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2015/2/hw005.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2015/2/hw006.jpg" width=600 border=0>
<IMG height=855 alt="" src="res/Files/xinwen/2016/4/hw007.jpg" width=600 border=0>
匹配URL、HTML标签或标记、任意字符包括空格和换行符
引用
例子:
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >毫米</span></st1:chmetcnv>
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >毫</span></st1:chmetcnv>
<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="毫米"><span lang="EN-US">4</span><span >米</span></st1:chmetcnv>
四周留白约<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="8" HasSpace="False" Negative="False" NumberType="1" TCSC="0"><SPAN>8cm</st1:chmetcnv>,作品说明装于框内右下角(内容包括拍摄时间、地点,尺寸为长<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="12" HasSpace="False" Negative="False" NumberType="1" TCSC="0">12cm</st1:chmetcnv>×高<st1:chmetcnv w:st="on" UnitName="cm" SourceValue="6" HasSpace="False" Negative="False" NumberType="1" TCSC="0">6cm</st1:chmetcnv>);</SPAN>书法、绘画作品尺寸一般为<SPAN>4尺整张——6尺整张(对开也可),竖幅装轴;硬笔书法不小于A3纸、装框。</SPAN>参赛作品需注明作者姓名、单位及作品含意
正测表达式:
(<st1:chmetcnv [\s\S]*?>)([\s\S]*?)(</st1:chmetcnv>)
替换为
$2
结果:
<span lang="EN-US">4</span><span >毫米</span>
<span lang="EN-US">4</span><span >毫</span>
<span lang="EN-US">4</span><span >米</span>
四周留白约<SPAN>8cm,作品说明装于框内右下角(内容包括拍摄时间、地点,尺寸为长12cm×高6cm);</SPAN>书法、绘画作品尺寸一般为<SPAN>4尺整张——6尺整张(对开也可),竖幅装轴;硬笔书法不小于A3纸、装框。</SPAN>参赛作品需注明作者姓名、单位及作品含意,鼓励创作
匹配HTML标签,处理多余的p标签样式
引用
例子:
<p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;text-indent: 37px;line-height: 21px;text-align: center;background-color: rgb(255, 255, 255)"> </p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;text-indent: 37px;line-height: 21px;text-align: center;background-color: rgb(255, 255, 255)"><strong>行政许可的项目及办理程序</strong></p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;line-height: 21px;background-color: rgb(255, 255, 255)">许可依据:《中华人民共和国公路法》、《路政管理规定》 </p><p style="color: rgb(53, 53, 53);font-family: 宋体;white-space: normal;margin: 0 0 0 77px;line-height: 21px;background-color: rgb(255, 255, 255)">办理机构:其中 除本细则第3条和第6条由各县路政大队审批外,其他许可事项由长治公路分局路政支队审批。</p>
正测表达式:
(<p)( [\s\S]*?)(>[\s\S]*?)(</p>)
替换为
$1$3$4
结果:
<p> </p><p><strong>行政许可的项目及办理程序</strong></p><p>许可依据:《中华人民共和国公路法》、《路政管理规定》 </p><p>办理机构:其中 除本细则第3条和第6条由各县路政大队审批外,其他许可事项由长治公路分局路政支队审批。</p>
匹配尖括号括起来的字母或数字(即HTML/XML标签)
正测表达式:
<(\w+)>
参考文档:
正则表达式30分钟入门教程 http://www.husw.net/tool/Regular%20Expression/zhengzhe-biaodashi-jiaocheng-se.htm
使用正则表达式匹配任意字符包括空格和换行符 http://www.uedsc.com/the-regular-expression-matches-any-character.html
正则表达式匹配任意字符(包括换行符)的写法 http://blog.csdn.net/liehuo123/article/details/6068823
正则表达式匹配URL或者网址 http://c.biancheng.net/cpp/html/1435.html

最后编辑: 我就是个世界 编辑于September 25, 2020 09:48