正则表达式问题。
本帖最后由 sagog 于 2018-12-26 09:27 编辑豬婆
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>豬婆</h2>(豬婆,猪婆)</span><BR><com>母豬。</com><br>
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>豬婆</h2>補證條目</span><br>“南邊人的俗語,叫作貪嵞買豬婆肉。”</span>
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>稅籍</h2>(稅籍,税籍)</span><BR><com>徵稅的簿冊。</com><br><span class="example">《
</>
一拍卽合
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>一拍卽合</h2><com>原指一打拍子就合於樂曲的節奏。 比喻一下子就能夠互相吻合。</com>
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>一拍卽合</h2>補證條目<br>原指一打拍子就合於樂曲的節奏。比喻一下子就能夠互
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>剝取</h2>(剝取,剥取)</span>猶榨取。</com><br><span class="example"><span
</>
从上述情况中删除其他词条的正则表达式是什么?
<h2>稅籍</h2>與<h2>剝取</h2>行
你是想保留的是<h2>标签内的内容,还是什么意思?
没明白正则是要删除啥。 OldFarmer 发表于 2018-12-26 09:41
你是想保留的是标签内的内容,还是什么意思?
我想用正则表达式删除其他词条。
我想得到以下结果。
豬婆
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>豬婆</h2>(豬婆,猪婆)</span><BR><com>母豬。</com><br>
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>豬婆</h2>補證條目</span><br>“南邊人的俗語,叫作貪嵞買豬婆肉。”</span>
</>
一拍卽合
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>一拍卽合</h2><com>原指一打拍子就合於樂曲的節奏。 比喻一下子就能夠互相吻合。</com>
<link type="text/css" rel="stylesheet" href="hydcd.css"/><h2>一拍卽合</h2>補證條目<br>原指一打拍子就合於樂曲的節奏。比喻一下子就能夠互
</>
我还是没有看懂你的意思 本帖最后由 VimVim 于 2018-12-26 11:21 编辑
Vim的解决方案:
1、采用Vim宏命令,自动获取词头并存入寄存器a(具体请自行解决)
2、使用vim的替换命令(其中^Ra指上述寄存器a中的内容,而非普通字符),将非词头的行删除:
:s/\v(.*)(\<h2\>((?!^Ra).)+\<\/h2\>)(.*)//
3、将上述指令存入Vim宏命令,批量实施:具体案例可参考
https://www.pdawiki.com/forum/fo ... d=32243&pid=1033507
具体测试结果请查看:
在线测试正则表达式:https://c.runoob.com/front-end/854
测试用例:(.*)(\<h2\>((?!豬婆).)+\<\/h2\>)(.*)
这与上述Vim指令相比:
(1)少了Vim替换命令相关的内容,(2)“豬婆”等具体关键词,Vim会自动从上述第一步获取。
OldFarmer 发表于 2018-12-26 10:21
我还是没有看懂你的意思
在合并过程中这是错误的,这部分发生了很多。
查找
(<h2>(?'name1'[^<>]*)</h2>.*)\n.+?<h2>(?!\k'name1').*$
替换
\1
替换一下
我用的这个是PCRE正则表达式格式.可能和你的显示不同,自行研究修改.
思路:https://s1.ax1x.com/2018/12/26/F2kq6P.png
baodi 发表于 2018-12-26 18:29
查找
替换
非常感谢你
页:
[1]