Python量化交易||正则表达式知道这些就够用了(一)

  • 正则表达式

正则表达式主要用于处理文本格式。

Python本身有些内置函数可以处理str,但是正则表达式更高效,简单理解为输入法中的五笔,难学,但是学会了打字就快多了。

  • 检测字符串中是否包含某个字段
# STR.INDEX('STR_PART')
a = 'c++|time|python'
print(type(a.index('python')))
print(type(a.index('python') > -1))
print(a.index('python') > -1)
print(a.index('python'))
>> <class 'int'>
>> <class 'bool'>
>> True
>> 9
# STR_PART IN STR
print('python' in a)
>> True
  • 正则表达式模块import re

re模块常用函数有

# re模块用来应对正则表达式
import re
  1. re.findall(‘待查字段’, ‘备查字符串’),返回结果是list格式
a = 'c++|time|python||Python|pythont'
re.findall('python',a)
print(type(re.findall('python',a)))
print(re.findall('python',a))
>> <class 'list'>
>> ['python', 'python']
  1. 字符串内置函数与正则表达式的区别

上面几个查询操作(都是常量),传统的字符串内置函数都可以操作,无法体现正则表达式的强大功能。

对规则(抽象)的使用,是正则表达式的本质。

# 搜索数字
import re
a = 'c++|time|python|7|P3yth1on|8pythont'
print(type(re.findall('\d', a)))
print(re.findall('\d', a))
>> <class 'list'>
>> ['7', '3', '1', '8']
  1. 正则表达式中相关定义
'python'   普通字符
'\d'       元字符(数字)
'a[cf]c'   字符集,acc或者afc
'\d'       概括字符集,等同于'[\d]'等同于'[0-9]'

元字符有很多,简单列常用的几个

'\d'   数字
'\D'   非数字
'\w'   包括数字和字母,不包括特殊符号(可以匹配_),等同于'[A-Za-z0-9_]'
'\W'   非单词字符,包括' '(空格)'\t' '\n'...
'\s'   空白字符,空格、制表符、回车等
'\S'   非空白字符(字母、符号、数字等各种字符)
[afe]   []内的字符是'或'关系,a或者f或者e
[c-f]   指的是cdef四个顺序字符
[^afe]   取反操作,不是a不是f不是e

.
.
.
2019-01-31 23:45:08写于济南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值