XPath,正则表达式

在这里插入图片描述

^b    #以b开头
a$    #以a结尾
.    	#任意一个字符
.*  	#任意多个字符
?    #非贪婪匹配 (默认是贪婪匹配,贪婪模式是从后往前匹配)
+ #至少出现一次
.*?  非贪婪模式 
**.+ .{2}  .{2,}  .{2,5}   .***
a| b   #a或 b
((bobby|booby)123)
[abcd]  #abcd中的任意一个字符串都可以
[0-9]{9}  #0-9的数字9个
[^3]   #不等于3都可以的一个字符
[.]  #代表.
你\s好    #\s表示空格
你\S好 #\S表示除了空格都可以的一个字符
你\S+好
[A-Za-z0-9_]  =  \w   \W表示非
[\u4E00-\u9FA5]  #表示任意一个汉字
([\u4E00-\u9FA5]+)
.*(\d{4})  #4个连续的数字
.*?(\d)

在这里插入图片描述

import re

str = "XXX出生于2018年1月1日"   #2018年1月1日
str = "XXX出生于2018.1.1"      #2018.1.1
str = "XXX出生于2018-1-1"       #2018-1-1
str = "XXX出生于2018-01-01"     #2018-01-01
str = "XXX出生于2018-01"         #2018-01

pat = '.*?出生于(\d{4}[年.-]\d{1,2}([月.-]\d{1,2}([日.-]|$)|$))'
result = re.match(pat, str)
print(result.group(1))

import re
str = ''
pat = ''
re.match(str,pat)

import re

str = 'boboobbbbbby'
pat1 = '.*(b.*b).*'     #bb    
pat2 = '.*(b.*?b).*'    #bb
pat3 = '.*(b.+b).*'    #bbb

result1 = re.match(pat1 , str)
gr1 = result1.group(1)

print(gr1)

电话号码:\d{3}-\d{8}|\d{4}-\d{7}

QQ号:[1-9][0-9]{4,}

中国邮政编码:[1-9]\d{5}(?!\d)
身份证:\d{15}|\d{18}

ip地址:\d+.\d+.\d+.\d+

[1-9]\d*  正整数
-[1-9]\d*   负整数
-?[1-9]\d* 整数
[1-9]\d*|0  非负整数
-[1-9]\d*|0   非正整数
[1-9]\d*.\d*|0.\d*[1-9]\d*KaTeX parse error: Expected 'EOF', got '\d' at position 16:    正浮点数 -([1-9]\̲d̲*\.\d*|0\.\d*[1…  负浮点数
-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$  浮点数

import re
 
price='25.34-34.55'
 
test=re.compile(r'[1-9]\d*\.\d*|0\.\d*[1-9]|[1-9]\d*').findall(price)[0]
test2=re.compile(r'-[1-9]\d*\.\d*|-0\.\d*[1-9]|-[1-9]\d*').findall(price)[0]
 
i=float(test)
x=-float(test2)
r=(x+i)/2
print r

匹配价格,并输出平均价格

原文:https://blog.csdn.net/lcyong_/article/details/72853373

在Python中字符串处理函数里有三个去空格(包括’\n’, ‘\r’, ‘\t’, ’ ')的函数:

strip 同时去掉左右两边的空格
lstrip 去掉左边的空格
rstrip 去掉右边的空格

具体示例如下:

a=" gho stwwl "
a.lstrip() ‘gho stwwl ’
a.rstrip() ’ gho stwwl’
a.strip() ‘gho stwwl’

声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

注意:

  1. 当rm为空时,默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

a = ’ 123’
a.strip()
‘123’

a=’\t\tabc’
‘abc’

a = ‘sdff\r\n’
a.strip()
‘sdff’

2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。

a = ‘123abc’
a.strip(‘21’)
‘3abc’ 结果是一样的

a.strip(‘12’)
‘3abc’
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值