使用正则表达式可以去除重复文本
我想把一部小说中的一段文字(一句话)换掉或删掉,在整篇文章中重复的部分一下换掉,怎么整?
我想把一部小说中的一段文字(一句话)换掉或删掉,在整篇文章中重复的部分一下换掉,怎么整?
920文本编辑器-此手机app帮你替换掉无用的信息,顺便提下,它支持正则表达式哦!纯文本显示而在word中不显示,可能字符集或编码的问题。
([@#]).*(?1)[@#]怎么解读这个正则式?
数字的意思是匹配分组里的内容。1代表第一个分组,你可能要问什么事分组,简单的说一个()就是一个分组,也就是([@#])匹配到的内容,也就是说如果你第一个口号里匹配到了@符号,那么1就是@(注意不能是#了)。如果你第一个([@#])匹配到了#就是1代表#符号。
(! 里面的字符串)的意思是不匹配“里面的字符串”才能成功。
也就是说你一个(!1) 不能出现一号分组的内容才成功。
例子:
#多个任意字符@ 可以匹配成功
@多个任意字符# 可以匹配成功
@多个任意字符@# 不可以匹配成功(@和@重复了)
如何快速查找word中的重复内容?
word 中有一个叫做通配符的功能很强大 ,如果只是简单的查找重复内容的话 ctrl F 完全可以满足了 如果需要查找重复的段落的话 简单的查找肯定不行如果是连续的重复段落:点击:编辑-替换勾选通配符查找内容:(^13)([!^13]@^13){2,}替换为:12全部替换重复一下,看看有没有替换干净(一个段落一般不会重复255次以上吧,呵呵),不行就再来几次,直到替换处数为0。此命令效率非常之高!成千上万页内容可瞬间完成!如果是不连续的重复段落:点击:编辑-替换勾选通配符查找内容:(^13[!^13]@^13)(*)1替换为:^1312全部替换重复几次,只到替换处数为0。此命令对数百页文档可能需时较长,因为要执行循环比较,请耐心等候!Enjoy![查找内容:(^13[!^13]@^13){2,}替换为:1这段代码的意思:^13表示段落标记,[!]表示“非”,[!^13]表示段落标记之外的任意单个字符;@表示一个以上的前一字符或表达式,它跟[!^13]一起表示一个以上的段落标记之外的字符,^13[!^13]@^13也就是包含前后段落标记的、有任意个字符的、非空的段落;用圆括号将其括起来(^13[!^13]@^13),意思是将这一部分加以标识,这是我们标识的第一部分,下面替换为框中的1代表的就是它!{n,}代表至少 n个前一字符或表达式,那么{2,}当然就表示2个以上这样的段落(括号括起来的部分),注意,应该是完全相同的段落!注意这里的{2,}不可以用@来替代,如果用@的话,因为它也包括“一个”的情况,那么在执行的时候,所有的不重复的段落也会被它自己替换一遍,执行效率要大打折扣!题外话:正则表达式里要是有一个代码表示“两个或两个以上”的意思,该多好啊!