我有一个带有<i>和</i>的txt文件,在我想要使用Editpad删除的单词之间
例如,当它是这样的时候,我想保留它:
<i>Phrases and words.</i>我想删除短语中的</i>和<i>标记,如果是这样的话:
<i>Phrases</i>and<i> words.</i>
<i>Phrases</i>and <i>words.</i>我试着用regex做这个,但我做不到。
因为标签后面跟着空格或一个字字符,所以当行中有双标记时,我可以找到
/ <i>|<\/i> /但是这样我就不能不按替换键了,我必须逐行编辑我的搜索。
有办法做到这一点吗?
*编辑*
在字幕文本上找到的另一个行示例
<i>- find me on the chamber.</i>
- What? <i>Go. Go, go, go!</i>发布于 2017-06-08 23:53:30
第一条规则:你不能用regex解析html。
也就是说,如果你知道每一行都遵循一定的模式,你通常可以在一起破解一些东西来工作。;)
如果我的理解是正确的,那么看起来您可以简单地删除所有不在行首或行尾的<i>和</i>。在这种情况下,您可以尝试的一种方法是以下regex:
(?<=.)\<\/?i\>(?=.)这将匹配标记,向前和后看,以确保我们没有在行的末尾/开始(通过检查前面/后面是否存在另一个字符)。(请注意,在搜索/替换时,通常匹配的前/后字符不会被替换。)
免责声明:这在regex101上有效,但是notepad++可能与pcre风格有一些不同。
使用Editpad更新
编辑:由于这个问题实际上是想知道如何在Editpad中这样做,下面是一个修改后的备选方案:
尝试搜索regex:(.)\<\/?i\>(.)。这将匹配(并捕获) <i>标记之前和之后的一个字符。
替换时,使用反向引用将整个匹配替换为两个捕获的字符-- \1\2的替换字符串应该可以工作。
https://stackoverflow.com/questions/44446381
复制相似问题