您当前的位置:首页 > 互联网教程

正则表达式怎么实现逻辑and

发布时间:2025-05-23 09:17:43    发布人:远客网络

正则表达式怎么实现逻辑and

一、正则表达式怎么实现逻辑and

1、(?=[A-Z]{2})表示断言后面的内容是两位大写字母

2、(?!AZ)表示断言后面的内容不能是AZ

3、两位大写字母“且”不能是AZ“且”有两位字符。

4、零宽断言有四类,它不匹配字符,只匹配一个位置,这和\b很像。用于断言后面的内容。

5、(?=exp)也叫零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。比如\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.时,它会匹配sing和danc。

6、(?<=exp)也叫零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式exp。比如(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading。

7、零宽度负预测先行断言(?!exp),断言此位置的后面不能匹配表达式exp。例如:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字;\b((?!abc)\w)+\b匹配不包含连续字符串abc的单词。

8、同理,我们可以用(?<!exp),零宽度负回顾后发断言来断言此位置的前面不能匹配表达式exp:(?<![a-z])\d{7}匹配前面不是小写字母的七位数字。

二、正则表达式里边<.+>什么意思

正则表达式里边<.+?>表示匹配:“<”开始,其后至少含有1个除了“>”的任意字符,且再遇到“>”,就结束匹配。

+表示:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

*表示:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

?表示:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。

例如:对“<><b>”的字符串进行正则模式<.+?>匹配,输入为:<><b>。

1、只能输入m~n位的数字:"^\d{m,n}$"。

2、只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

3、只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。

4、只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。

5、只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

6、只能输入非零的负整数:"^\-[1-9][0-9]*$"。

7、只能输入长度为3的字符:"^.{3}$"。

8、只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。

9、只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。

10、只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。

参考资料来源:百度百科-正则表达式

三、怎样通过正则表达式删除内容里的空行

这次给大家带来怎样通过正则表达式删除内容里的空行,怎么怎样通过正则表达式删除内容里的空行?怎样通过正则表达式删除内容里的空行的注意事项有哪些,下面就是实战案例,一起来看一下。

这样,就可以匹配多个空行,同时用null来替代,就可以实现删除空行。此方案是基于对\r和\n的使用。

匹配之后,用null替代,也可以实现删除空行,

就完全实现了删除所有的空行,因为在每一个空行的开头和结尾都是

所以,删除了上一行之后,当前行还有一个\n\r,同样能够匹配上,所以,还要在做替代操作。这样,就可以删除所有的空行了。

这个就不是我们想要的结果.为什么呢?

C:\Program Files\Common Files\Relive.dll

C:\Program Files\Common Files\svchost.exe

C:\Program Files\Internet Explorer\msvcrt.bak

C:\Program Files\Internet Explorer\msvcrt.dll

C:\Program Files\Internet Explorer\msvcrt.ebk

C:\WINNT\system32\drivers\npf.sys

C:\WINNT\system32\WanPacket.dll

C:\Documents and Settings\User name\Local Settings\Temp\wmso.exe

C:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp

这个是原始文本,其实,在我们进行文本处理的时候,我们可以这样把空行,用

\r\n(回车换行,先回车,后换行)

C:\Program Files\Common Files\Relive.dll\r\n\r\nC:\Program Files\Common Files\svchost.exe\r\n\r\nC:\Program Files\Internet Explorer\msvcrt.bak\r\nC:\Program Files\Internet Explorer\msvcrt.dll\r\n\nC:\Program Files\Internet Explorer\msvcrt.ebk\r\n\r\n\r\n\r\nC:\WINNT\system32\drivers\npf.sys\r\nC:\WINNT\system32\wpcap.dll\r\nC:\WINNT\system32\Packet.dll\r\nC:\WINNT\system32\WanPacket.dll\r\n\r\nC:\Documents and Settings\User name\Local Settings\Temp\wmso.exe\r\nC:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp\r\n\r\n\r\n

这一段文本是一个整体,没有回车,没有空隙和间隔,这是我们正在处理的文本,只不过回车换行是不可见字符,所以就不能看到,但是还是存在的.

所以,在处理的时候才会出现我们上面的情况.

所有的\r\n都没有了,所以,文本,就成为了一个连接的纯字符文本了.

中间的所有的\n\r都替代掉了,\r(\n\r??\n\r)\n,中间的部分都替代掉了。所以就剩最后的一个\r\n.

相信看了这些案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

mint-ui的search组件怎样可以在键盘显示搜索按钮

怎么实现springmvc接收jquery提交的数组后提取数据