python基础爬虫——正则表达式

不以物喜不以己悲
坚持不能放弃
今天的学习目标是:正则表达式的使用

# 1.字符‘\d’匹配0-9之间的一个数值,遇到的第一个
# import re
# reg = r'\d'
# m = re.search(reg, "abc123cd45611")
# print(m)


# 2.字符‘+’重复面前一个匹配字符一次或者多次
# import re
#
# reg = r'c\d+'
# m = re.search(reg, "abc123c5611")
# print(m)


# 3.字符‘*’重复前面一个匹配字符零次或者多次,与+类似但是有区别
# import re
#
# reg = r'ab+'
# m = re.search(reg, 'acabc')
# print(m)
# reg = r'ab*'  # 这里匹配了b的零次或者多次
# m = re.search(reg, 'acabc')
# print(m)


# 4.字符‘?’重复前面一个匹配字符零次或者一次
# import re
#
# reg = r'ab?'
# m = re.search(reg, 'abbcabc')
# print(m)

# 5.字符‘.'代表任何一个字符,但是没有特别申明的时候不代表’\n‘
# import re
#
# s = 'xaxby'
# m = re.search(r'a.b', s)
# print(m)


# 6.’|‘代表把左右分成两个部分
# import re
#
# s = 'xaabababy'
# m = re.search(r'ab|ba', s)
# print(m)

# 7.特殊字符使用反斜线’\‘引导,例如'\r','\n','\t','\\'
# 代表回车、换行、制表符与反斜线本身
# import re
#
# reg = r'a\nb?'
# m = re.search(reg, 'ca\nbcabc')
# print('ca\nbcabc')
# print(m)


# 8.字符’\b‘表示单词的结尾,单词结尾包括各种空白字符或者字符串结尾
# import re
#
# reg = r'car\b'
# m = re.search(reg, 'the car is black')
# print(m)

# 9.'[]'中的字符是选择任意一个,如果字符是ASCII码中连续的一组,那个可以使用'-'符号连接
# 例如[0-9]表示0-9的其中一个数字,[A-Z]表示A-Z的其中一个大写字符
# [0-9A-Z]表示0-9其中一个数字或者A-Z的其中一个大写字符
# import re
#
# reg = r'x[0-9]y'
# m = re.search(reg, 'xyx2y')
# print(m)

# 10.'^'出现在[]的第一个字符的位置,就代表取反
# 例如[^ab0-9]表示不是a、b,也不是0-9的数字

# import re
#
# reg = r'x[^ab0-9]y'
# m = re.search(reg, 'xayxbyx2yxcy')
# print(m)

# 11.'\s'匹配任何空白字符,等价'[\r\n\x20\t\f\v]'  \x20为空白符
# import re
#
# s = '1a ba\tbxy'
# m = re.search(r'a\sb', s)
# print(m)

# 12.’\w‘匹配包括下划线子内的单词字符,等价于'[a-zA-Z0-9]'
# import re
# reg=r'\w+'
# m=re.search(reg,'Python is easy')
# print(m)


# 13.'^'匹配字符串的开头位置
# import re
#
# reg = r'^ca'
# m = re.search(reg, 'cabcabcbasdf')
# print(m)


# 14.'$'符号匹配字符串的结尾位置
# import re
#
# reg = r'ab$'
# m = re.search(reg, 'abcab')
# print(m)


# 15.使用括号(...)可以把(...)看成一个整体,经常与'+'、'*'、'?'的连续使用
# 对(...)部分进行重复
# import re
#
# reg = r'(ab)?'
# m = re.search(reg, 'ababcab')
# print(m)


# 匹配找出英文句子中所有单词
# 可以使用正则表达r'[A-Za-z]+\b'匹配单词,它表示匹配由大小写字母组成的连续多个字符,
# 一般是一个单词,之后'\b'表示单词结尾
# import re
#
# s = 'I am testing search function'
# reg = r'[A-Za-z]+\b'
# m = re.search(reg, s)
# while m != None:
#     start = m.start()
#     end = m.end()
#     print(s[start:end])
#     s = s[end:]
#     m = re.search(reg, s)


# 正则表达式实例
# import re
#
# reg = r'\d+'
# s = 'abc12mn'
# m = re.search(reg, s)
# print(m.start(), m.end())
# print(s[m.start():m.end()])



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值