Notepad正则表达式可以用来替换文本中的一部分内容。要使用Notepad的正则表达式,首先需要打开Notepad,然后在“查找”菜单中选择“替换”。在d出的“替换”对话框中,可以在“查找内容”文本框中输入正则表达式,以查找需要替换的文本。在“替换为”文本框中,可以输入新的文本,以替换查找到的文本。最后,点击“替换全部”按钮,即可完成文本替换。此外,要把你改成您,可以使用正则表达式“\b你\b”,然后把“替换为”文本框中的文本改为“您”,即可完成替换。
登录
首页
学习
实践
活动
专区
工具
TVP
返回腾讯云官网
玖柒的小窝
789 篇文章
关注
notepad++ 正则表达式
2021-09-22 10:58:33
阅读 4770
注意:Notepad++正则表达式字符串最长不能超过69个字符
\ 转义字符 如:要使用 “\” 本身, 则应该使用“\\”
\t Tab制表符 注:扩展和正则表达式都支持
\r 回车符CR 注:扩展支持,正则表达式不支持
\n 换行符LF 注:扩展支持,正则表达式不支持
\r\n 正则表达式可表示回车换行
匹配任意一个字符
^ 其右边的表达式被匹配在行首。如:^A匹配以“A”开头的行
$ 其左边的表达式被匹配在行尾。如:e$匹配以“e”结尾的行
| 或运算符,匹配表达式左边和右边的字符串。如:ab|bc匹配“ab”或“bc”
[] 匹配列表中任意单个字符。如:[ab]匹配“a”或“b”;[0-9]匹配任意单个数字
[^] 匹配列表之外的任意单个字符。如:[^ab]匹配“a”和“b”以外的单个字符;[^0-9]匹配任意单个非数字字符
其左边的字符被匹配任意次(0次或多次)。如:be匹配“b”,“be”或“bee”
+ 其左边的字符被匹配至少一次(1次或多次)。如:be+匹配“be”或“bee”,但不匹配“b”
其左边的字符被匹配0次或者1次。如:be匹配“b”或“be”,但不匹配“bee”;\r\n匹配行结尾符
() 影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;另见:看下文的示例
{} 指定前面的字符或分组的出现次数 如:abc{3}匹配abccc;a(bc){2}匹配abcbc
\d 匹配一个数字字符。等价于:[0-9]
\D \d取反,匹配一个非数字字符。等价于:[^0-9]
\s 匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t]
\S \s取反的任意单个字符。
\w 匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_]
\W \w取反的任意单个字符。等价于:[^A-Za-z0-9_]
\b 匹配单词起始处或结尾处 如:\bin匹配int,但不匹配sing
三种实用的方法。
1、文章头尾加随机广告
2、文章列表加随机不同的链接标签,比如<a href="",<a class="dds" href=''
3、正文头尾或列表头尾添加<!--重复特征代码-->
第一种防采集方法:
下面我详细说一下这三种方法的实际应用:
如果全加上,绝对可以有效的防采集,单独加一种就可以让采集者头疼。。
完全可以对付通用的CMS采集程序。。
在采集时,通常都是指定头尾特征从哪到哪过滤这里我们先讲第一种方法,文章头尾加随机广告
随机广告是不固定的。
比如你的文章内容是"欢迎访问阿里西西",那么随机广告的加入方法:
<div id="xxx">
随机广告1欢迎访问阿里西西随机广告2
</div>
注:随机广告1和随机广告2每篇文章只要随机显示一个就可以了
第二种防采集方法:
<!--<div id="xxx_文章ID">-->
其它标题或内容
<!--<div id="xxx_文章ID">--> <div id="xxx_文章ID">
随机广告1欢迎访问阿里西西随机广告2
<--</div>-->
</div>
<--</div>-->
这是第二种防采集方法。在文章正文页面插入重复特征头尾代码的注释。
当然,这个可以用正则去掉,但足于对付通用的采集系统。。
第三种防采集方法:
第三种加在文章的列表,随便链接样式:
<a href="xxxhtml">标题一</a>
<a alt="xxx" href="xxxhtml">标题二</a>
<a href='xxxhtml'>标题三</a>
<a href=xxxhtml>标题四</a>
原理是让采集的人无法抓到列表链接规律,无法批量进行采集
如果三种方法全部加上,我想一定能让想采集的人头疼半天而放弃的
如果你还问,如何防止别人复制采集呢要做到这一点容易,把你的网站的网线拔了,自己给自己看就好了哈哈
如果你的文章来自原创,那像可以加上版权声明,别人随意转载时,你可以要求对方删除你有版权的文章
^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:
"^The": 开头一定要有"The"字符串;
"of despair$": 结尾一定要有"of despair" 的字符串;
那么,
"^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。
"notice": 匹配包含notice的字符串。
你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。
接着,说说 '', '+',和 '',
他们用来表示一个字符可以出现的次数或者顺序 他们分别表示:
"zero or more"相当于{0,},
"one or more"相当于{1,},
"zero or one"相当于{0,1}, 这里是一些例子:
"ab": 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a", "ab", "abbb", 等);
"ab+": 和ab{1,}同义,同上条一样,但最少要有一个b存在 ("ab", "abbb", 等);
"ab":和ab{0,1}同义,可以没有或者只有一个b;
"ab+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串
要点, '', '+',和 ''只管它前面那个字符
你也可以在大括号里面限制字符出现的个数,比如
"ab{2}": 要求a后面一定要跟两个b(一个也不能少)("abb");
"ab{2,}": 要求a后面一定要有两个或者两个以上b(如"abb", "abbbb", 等);
"ab{3,5}": 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb")
现在我们把一定几个字符放到小括号里,比如:
"a(bc)": 匹配 a 后面跟0个或者一个"bc";
"a(bc){1,5}": 一个到5个 "bc"
还有一个字符 '│', 相当于OR *** 作:
"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
"(a│b)c": 匹配含有这样多个(包括0个)a或b,后面跟一个c的字符串;
一个点('')可以代表所有的单一字符,不包括"\n"
如果,要匹配包括"\n"在内的所有单个字符,怎么办
对了,用'[\n]'这种模式
"a[0-9]": 一个a加一个字符再加一个0到9的数字
"^{3}$": 三个任意字符结尾
中括号括住的内容只匹配一个单一的字符
"[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样);
"[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
"^[a-zA-Z]": 匹配以大小写字母开头的字符串
"[0-9]%": 匹配含有 形如 x% 的字符串
",[a-zA-Z0-9]$": 匹配以逗号再加一个数字或字母结尾的字符串
你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 "%[^a-zA-Z]%" 匹配含有两个百分号里面有一个非字母的字符串
要点:^用在中括号开头的时候,就表示排除括号里的字符。为了PHP能够解释,你必须在这些字符面前后加'',并且将一些字符转义
不要忘记在中括号里面的字符是这条规路的例外在中括号里面, 所有的特殊字符,包括(''), 都将失去他们的特殊性质 "[\+{}]"匹配含有这些字符的字符串
还有,正如regx的手册告诉我们: "如果列表里含有 ']', 最好把它作为列表里的第一个字符(可能跟在'^'后面) 如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点[a-d-0-9]中间的‘-’将有效
看了上面的例子,你对{n,m}应该理解了吧要注意的是,n和m都不能为负整数,而且n总是小于m 这样,才能 最少匹配n次且最多匹配m次 如"p{1,5}"将匹配 "pvpppppp"中的前五个p
下面说说以\开头的
\b 书上说他是用来匹配一个单词边界,就是比如've\b',可以匹配love里的ve而不匹配very里有ve
\B 正好和上面的\b相反例子我就不举了
突然想起来可以到>
以上就是关于notepad正则怎么替换其中一部分全部的内容,包括:notepad正则怎么替换其中一部分、如何防止网站内容被别的网站恶意抓取、正则表达式 JAVA等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)