\S和\W的区别:
\W匹配 除字母、数字、下划线外的所有
\S匹配 除空格、制表符、换行符外的所有
import re
import numpy as np
f = 'https://CSDN.us/main'
#f = 'https://zoom.us'
str1 =['protocol=','host=','path=','parameter=']
result = re.findall('(\w+)(\W+)',f)
print(result)
result = re.findall('(\w+)(\S+)',f)
print(result)
[('https', '://'), ('CSDN', '.'), ('us', '/')]
[('https', '://CSDN.us/main')]
import re
import numpy as np
f = 'https://zoom.us'
#f = 'https://zoom.us/main?mno=123456'
str1 =['protocol=','host=','path=','parameter=']
result = re.findall('(\w+)\W+(\w+\W\w+)\W(\w+)\W(.*)',f)
if(len(result)==0):
result = re.findall('(\w+)\W+(\w+\W\w+)\W(\w+)',f)
if(len(result)!=0):
for i in range(3):
print(str1[i]+result[0][i])
else:
result = re.findall('(\w+)\W+(\w+\W\w+)',f)
for i in range(2):
print(str1[i]+result[0][i])
else:
for i in range(len(str1)):
print(str1[i]+result[0][i])
import inspect
import os
import random
import sys
import re
with open('E:\\Setcompression\\WadhamCollege\\HEVC帧间.txt','r') as f:
with open('E:\\Setcompression\\WadhamCollege\\new.txt', 'w') as nf:
for line1 in f:
result = re.findall('(\d+) bits\s\SY (\d+\S\d+) dB\s+U (\d+\S\d+) dB\s+V (\d+\S\d+) dB',line1)
for line2 in result:
nf.write("%s %s %s %s\n"%(line2[0],line2[1],line2[2],line2[3]))