日常用到的正则表达式汇总

SEOGet

Moderator
Регистрация
06.01.2012
Сообщения
204
Благодарностей
23
Баллы
18
我们知道,要用好ZennoPoster这款工具,不可避免的要写一些正则表达式。ZennoPoster很多地方都要用到正则,好的正则可以让你的工作事半功倍,今天我们就对日常的正则做一个汇总。

1、匹配大于0的数字:

(?<=(\D|^))[1-9]\d*



在这个例子中,会只去匹配可视的元素(所有宽带大于0px的元素)。

2、将正文转化为句子:

[A-Z].{15,}?(\.|\!|\?)(?=\ |\r|\n|$)

比如以下的这句话

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce dapibus tellus nec nulla gravida, sed congue nunc hendrerit. Integer interdum elementum lorem id rutrum. Ut sit amet interdum mauris. Phasellus mollis ex eleifend lacus molestie dictum. Fusce blandit, ligula non condimentum maximus, massa nisi ullamcorper odio, et vehicula nisl nunc nec orci. Sed neque diam, gravida eu blandit ullamcorper, porttitor non lorem. Etiam sagittis diam a dolor feugiat placerat. Suspendisse enim turpis, imperdiet in tellus sit amet, consectetur porta magna. Suspendisse odio nulla, imperdiet eget augue in, pulvinar hendrerit nunc. Aenean ut cursus tellus, nec vehicula ante. Vestibulum ornare erat non ante tempus, eu aliquet felis dapibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris eget arcu imperdiet, laoreet erat non, imperdiet leo. Sed arcu mi, ornare non leo sed, faucibus semper nunc.

转化结果为:


3、匹配特定字符开头的字符
(?i)\bgo.*?(?=\W|\ |\r|\n|$)

匹配所有go开头的字符,比如:goal,gol,google。

4、匹配特定范围内的数字:
^([4-6][0-9][0-9])$
更多的数字匹配正则可以参考:http://www.regular-expressions.info/numericranges.html

5、使用分号分隔符的虚拟列:
(?<=(^|;-)).*?(?=(;|$|\r\n))
初始化数据:name;pass;mail
结果:


6、从文件路径中获取文件名:
([^\\]+$)
如:С:\Program Files (x86)\ZennoLab\ZennoPoster Pro\Progs\ZennoPoster.exe
获取为:ZennoPoster.exe

7、匹配不包含特定字符的字符:
(?<=(^|\r\n))((?!(test)).)*(?=($|\r\n))
如,匹配不包含test:
test
tester
gogogo
ololo
结果:
gogogo
ololo

8、获取大于18个字符的行
(?<=(\r\n|^)).{18,}(?=(\r\n|$))

9、获取小于18个字符的行
(?<=(\r\n|^)).{1,18}(?=(\r\n|$))

10、匹配所有HTML元素
<.*?>

11、从文本中匹配空行
\n\r

12、匹配3行或更多的空行
(?<=(\r\n){2})(\r\n){1,}

13、Email:
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}

14、IP
(\d{1,3}\.){3}\d{1,3}

15、URL
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?

16、IP和端口
(\d{1,3}\.){3}\d{1,3}:\d*
 
  • Спасибо
Реакции: Yuriy Zymlex и Dimionix

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)