目录
- 1. find() 字符串查找
- 2. 字符串匹配 6 种方法
1. find() 字符串查找
python字符串find的应用
查找到字符串的位置,给出所在字符串的下标位置。如下给出的只是下标第6个:
a = "伤感+上单=乱杀"
# 01 23 4 567
print(a.find("乱杀"))
print(a.find("乱"))
输出:
6
6
找不到返回-1
a = "伤感+上单=乱杀"
# 0 12 34 5 67
print(a.find("多杀"))
输出:
-1
没有定义其它参数,一般只输出顺着下标的第一个字符的位置,后面相同的忽略
a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪"))
# 7
指定位置之后开始查找,第二个参数**“开始位置”**
a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 9))
# 19
指定结束查找位置 第三个参数为"结束位置"
a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 8, 21))
# 19
找不到返回-1
a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 8, 18))
# -1
2. 字符串匹配 6 种方法
- re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
import reline="this hdr-biz 123 model server 456"
pattern=r"123"
matchObj = re.match( pattern, line)
- re.search 扫描整个字符串并返回第一个成功的匹配。
import reline="this hdr-biz model server"
pattern=r"hdr-biz"
m = re.search(pattern, line)
- Python 的re模块提供了re.sub用于替换字符串中的匹配项。
import reline="this hdr-biz model args= server"
patt=r'args='
name = re.sub(patt, "", line)
- compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
import repattern = re.compile(r'\d+')
- re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
import reline="this hdr-biz model args= server"
patt=r'server'
pattern = re.compile(patt)
result = pattern.findall(line)
- re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
import reit = re.finditer(r"\d+","12a32bc43jf3")
for match in it:print (match.group() )