爬虫前的准备

渣渣一个,需要准备一些不知道,不熟悉的东西。摘抄与互联网各处。

"^[0-9]*[1-9][0-9]*$"  //正整数
"^-?\d+$"    //整数
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日

/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年

"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Emil

"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址

Python中也有正则表达式(正则表达式30分钟入门教程)的模块,那就是re,下面就来了解一些我们常用的正则方法:

re.search

    re.search 模式:在字符串中查找匹配的对象,找到第一个后返回,如果没有返回None
    re.search的函数为:re.search(pattern,string,flags)
    相比re.match只匹配开始而言,search会匹配所有,直到找到一个

re.findall

    re.findall 模式:获取字符串中所有匹配的对象
    相比re.search而言会搜寻所有的可匹配对象
3.总结速查表
元字符     含义
.   匹配一个字符(除了换行符\n)
[]  匹配里面一个可选字符
^   匹配词首
$   匹配词尾
{n}     前面的字符重复n次
{n,m}   前面的字符重复从n次到m次
{n,}    前面的字符重复n次到无限次
*   {0,}
+   {1,}
?   {0,1}
[^]     不包含里面内容
\d  [0-9]
\w  [A-Za-z0-9]
(?:pattern)     正向预查的正向匹配,等效于
(?=pattern)     正向预查的正向匹配,匹配后面跟着pattern的字符串
(?!pattern  正向预查的正向不匹配,匹配后面不跟着pattern的字符串
(?<=pattern)    反向预查的反向匹配,匹配前面是pattern的字符串
(?<!pattern)    反向预查的反向不匹配,匹配前面不是pattern的字符串
量词?     非贪婪模式

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nnngu

算法02 七大排序之:直接选择排序和堆排序

上一篇总结了交换排序的冒泡排序和快速排序。这一篇要总结的是选择排序,选择排序分为直接选择排序和堆排序,主要从以下几点进行总结。 1、直接选择排序及算法实现 2、...

36870
来自专栏CDA数据分析师

入门 | 一文带你了解Python集合与基本的集合运算

了解 Python 集合: 它们是什么,如何创建它们,何时使用它们,什么是内置函数,以及它们与集合论操作的关系

11900
来自专栏数据结构与算法

06:整数奇偶排序

06:整数奇偶排序 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给定10个整数的序列,要求对其重新排序。排序要求: 1...

43260
来自专栏机器学习和数学

[编程经验]Python中的Lambda,Map, Reduce小结

今天要和大家分享的是Python匿名函数(anonymous functions),也叫lambda函数。匿名函数的意思就是说这个函数没有显式的函数名,因为一般...

33950
来自专栏技术沉淀

Python: 函数式编程

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回,比循环更简洁,更易读。

18440
来自专栏猿人谷

寻找和为定值的两个数

题目:输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即...

30870
来自专栏猿人谷

成员以其在类中声明的顺序构造

分析以下代码的输出: #include<iostream> using namespace std; class A { public: A(int j):...

20660
来自专栏恰童鞋骚年

剑指Offer面试题:13.调整数组顺序使奇数位于偶数前面

  例如有以下一个整数数组:12345,经过调整后可以为:15342、13542、13524等等。

12560
来自专栏数据结构与算法

26:统计满足条件的4位数个数

26:统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB描述 给定若干个四位数,求出其中满足以下条件的数的个数:  个位数上的...

47240
来自专栏机器之心

入门 | 一文带你了解Python集合与基本的集合运算

了解 Python 集合: 它们是什么,如何创建它们,何时使用它们,什么是内置函数,以及它们与集合论操作的关系

14330

扫码关注云+社区

领取腾讯云代金券