python字符串

re模块

十年热恋 提交于 2019-12-03 21:01:27
目录 简介 元字符 案例 常用函数 match search findall finditer compile split sub subn 简介 正则表达式本身是一种小型的、高度专业化的编程语言,它并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 元字符 字符 描述 . 匹配任意字符,除了'\n' \ 转义字符,使后一个字符改变原来的意思 如果字符串中有字符*需要匹配,可以使用\*或者字符集[*] [] 字符集。对应的位置可以是字符中任意字符。字符集可以逐个列出,也可以给出范围,例如:[abc]或者[a-c] 第一个字符如果是^表示取反,如[^abc]表示不是abc的 \d 数字: [0-9] \D 非数字: [^0-9] \s 空白字符: [<空格>\t\n\r\f\v] \S 非空白字符: [^\s

基本数据类型及内置方法

依然范特西╮ 提交于 2019-12-03 20:50:49
整型+浮点型 进制之间的转换 其他进制转十进制 int('1100',2) # 第二个参数是第一个参数的进制 int('123', 8) # 第二个参数是第一个参数的进制 int('e',16) # 第二个参数是第一个参数的进制 十进制转其他进制 bin() # 十进制转二进制 oct() # 十进制转八进制 hex() # 十进制转16进制 ps:转换后的结果前所带的标识, 单纯就是告诉你他当前是几进制的数 1、存一个值 2、...... 3、不可变类型 """ 可变类型:在值改变的情况下,id不变 不可变类型:在值改变的情况下,id也改变了 """ id相同的时候,值是一定相同的 id不相同的时候,值可能相同 浮点数: 数学运算 float可以识别小数点 字符串: 1、优先掌握的方法: 1、索引取值(正向、反向取)只能取不能改 2、索引切片 3、成员运算in,not in 4、len() 获取当前字符串字符个数 5、for循环 内置方法: 1、strip:默认去除字符串首尾的空格, 还可以传入参数指定去除的字符 2、split:切分:将字符串按照指定的字符进行切分, 切分完返回的一定是一个列表 3、lower\upper: 修改·字符串的大小写 应用场景:验证码 4、startswith\endswith :判断当前字符串是否以某某字符开头, 或者以某某字符结尾

python day5---模块

落爺英雄遲暮 提交于 2019-12-03 14:36:59
re模块 功能:用来匹配字符串(动态、模糊的匹配),爬虫用的多。 一、常用方法: 1 search(): 在整个字符串中查找,返回第一个匹配内容,如果找到返回match对象,没找到返回None 2 match(): 从字符串的第一个字符开始匹配,如果找到返回match对象,没找到返回None 3 findall(): 在字符串中匹配,如果成功返回match对象,如果失败返回None 4 finditer(): 在字符串中匹配,如果成功返回match可迭代对象,如果失败返回None 5 split(): 按照匹配的字符串进行分割 6 sub(): 替换匹配的子字符串,返回替换之后的字符串 二.常用正则表达式符号和语法: '.' 匹配所有字符串,除\n以外 ‘-’ 表示范围[0-9] '*' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 '+' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+ '^' 匹配字符串开头 ‘$’ 匹配字符串结尾 re '\' 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.findall(r'3\*','3*ds')结['3*'] '*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['ab', 'ab', 'a'] ‘?

基本数据类型的内置方法

删除回忆录丶 提交于 2019-12-03 14:27:20
基本数据类型内置方法 一、进制之间的转换 实例 ''' 二进制转10进制 110 人工计算:1*(2**2)+1*(2**1)+0*(2**0)=6 电脑计算:print(int("110", 2)) 八进制转10进制 123 人工计算:1*(8**2)+2*(8**1)+3*(8**0)=83 电脑计算:print(int("123", 8)) 16进制转10进制 801 人工计算:8*(16**2)+0*(16**1)+1*(16**0)=2049 电脑计算:print(int("801", 16)) 10进制转2进制 bin(108) >>>0b1101100 10进制转8进制 oct(108) >>>0o154 10进制转16进制 hex(801) >>>0x321 ''' 二、基本数据类型及内置方法 整型int 用途: 用来记录人的年龄,手机号码等整数相关的状态 定义方式:age = 18 常用于数学计算 小结:整型int无序,不可变,存一个值 浮点型float 用途: 用来记录人的身高,体重,薪资等小数相关的转态 定义方式:height = 1.77 常用于数学计算 小结: 无序,不可变,一个值 字符串str 用途: 用来存一些描述性的信息,存个人爱好,个人简介 定义方式:s1 = 'yafeng666' 可用单引号或双引号或三引号表示,但不可混用 小结:有序,不可变

python学习笔记(十)——正则表达式和re模块

两盒软妹~` 提交于 2019-12-03 13:59:51
#正则表达式和re模块 # match(pattern, string,[flag]) #在字符串开始时进行匹配 # pattern 正则表达式 # string 要匹配的字符串 # [flag] 可选标志位,用于控制匹配方式,不区分大小写等 # 匹配字符串是否以mr_开头,不区分大小写 import re pattern = r'mr_\w+' string = 'MR_Shop mr_shop' match = re.match(pattern,string,re.I) #re.I表示不区分大小写 print(match) #匹配成功返回match对象 print('匹配起始位置:',match.start()) print('匹配结束位置:',match.end()) print('匹配位置元组:',match.span()) print('要匹配的字符串:',match.string) print('匹配到的数据:',match.group()) string = '项目名称MR_SHOP mr_shop' match = re.match(pattern,string,re.I) print(match) #匹配失败返回None # 验证输入号码是否是中国移动的号码 import re pattern = r'(13[4-9]\d{8})|(147)|(15[012789

leetcode——394. 字符串解码

江枫思渺然 提交于 2019-12-03 11:21:45
这道题也不是我自己做出来的,只能说大佬牛逼!!! class Solution(object): def decodeString(self, s): """ :type s: str :rtype: str """ stack, res, multi = [], "", 0 for c in s: if c == '[': stack.append([multi, res]) res, multi = "", 0 elif c == ']': cur_multi, last_res = stack.pop() res = last_res + cur_multi * res elif '0' <= c <= '9': multi = multi * 10 + int(c) else: res += c return res 执行用时 :24 ms, 在所有 python 提交中击败了45.24%的用户 内存消耗 :11.7 MB, 在所有 python 提交中击败了20.90%的用户 ——2019.11.4 来源: https://www.cnblogs.com/taoyuxin/p/11793468.html

Python 正则表达式Ⅳ

纵饮孤独 提交于 2019-12-03 11:15:49
repl 参数是一个函数 以下实例中将字符串中的匹配的数字乘以 2: 执行输出结果为: re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。 语法格式为: 参数: pattern : 一个字符串形式的正则表达式 flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为: re.I 忽略大小写 re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境 re.M 多行模式 re.S 即为 . 并且包括换行符在内的任意字符( . 不包括换行符) re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库 re.X 为了增加可读性,忽略空格和 # 后面的注释 实例 在上面,当匹配成功时返回一个 Match 对象,其中: group([group1, …]) 方法用于获得一个或https://www.xuanhe.net/多个分组匹配的字符串,当要获得整个匹配的子串时,可直接使用 group() 或 group(0) ; start([group]) 方法用于获取分组匹配的子串在整个字符串中的起始位置(子串第一个字符的索引),参数默认值为 0; end(

Python learning

夙愿已清 提交于 2019-12-03 11:14:39
一、preparation download Python interpreter: Python download IDE: PythonCharm 二、Starting Coding: Open IDLE, This will be the place where you start coding. 2 ** 365 : 代表2^365次方 _ + y: 代表用上一次计算的值+Y 2.1 Variable: 除了integer和floating之外的变量,字段也可以作为变量 字符串,从0开始。从第一位开始数前三位。 来源: https://www.cnblogs.com/chrisrockdl/p/11793079.html

Python学习之--字符串的使用

别来无恙 提交于 2019-12-03 10:49:18
一、大小写转换   1. 首字母大写:title(); 如下:      2. 大写转换:upper(),如      3.小写转换:lower(),如    二、合并(拼接)字符串:”+“  1.    2. 三、制表符、换行   制表符: \t   换行符: \n 四、删除空白   1. 删除末尾空白:rstrip(),如:    五、单双引号:”“, ’‘必须成对出现 六、函数str()   使用函数str()进行字符串转换,如:       来源: https://www.cnblogs.com/anlia/p/11791751.html

数据类型之字符串(string)

眉间皱痕 提交于 2019-12-03 10:35:29
字符串特有 .upper() / .lower() 将字符串转化为大小写,得到结果是字符串 """ 方式1: check_code = 'AF1k' new_check_code = check_code.lower() print(new_check_code) code = 'af1K' mag = '请输入你的验证码%s:' % (code,) code1 = input(mag) new_code = code1.lower() if new_code == new_check_code: print('验证成功') else: print('验证失败') """ #方式2: """ check_code = 'AF1k' code1 = input('请输入你的验证码%s:' % (check_code,)) if code1.lower() == check_code.lower(): print('验证成功') else: print('验证失败') """ """ while True: num = input('请输入数字:') flag = num.isdigit() if flag: print(num) print('输入成功') break else: print('请继续输入数字:') """ .isdigit() 判断字符串是否转换为数字