input = r'sdf)*&^%jlk,.,sd中文——2384中文sldfe#$%^&*ejfk'
words = re.findall(r'[\u4E00-\u9FA5]+.*[\u4E00-\u9FA5]+', input)
print (words)
#-*- coding: utf-8 -*-import os
#已知文件名的情况下,可以用这个函数
def getFileInfo(filepath):
info = {}
if os.path.isfile(filepath):
info['TimeCreated'] = os.path.getctime(filepath)
info['TimeModified'] = os.path.getatime(filepath)
info['Size'] = os.path.getsize(filepath)
return info
# 如果只知道文件根目录,但是不知道具体的文件路径,
# 可以先用os.listdir获得文件和文件夹列表
#-------------------分界线----------------------
# 这是回答你的第二个问题。如何找到一个字符串中指定两个字符中间的字符串
# 这里用的是正则表达式
import re
special = "*.?+$^[](){}|\/" #正则表达式中会出现的特殊字符
# 输入参数为原始字符,leftmark表示左边的分隔符号,rightmark表示右边的分隔符号
#函数返回在leftmark和rightmark中间的内容,可能匹配满足不止一次,没有找到就返回空
def matchpattern(str1,leftmark,rightmark):
lf,rt = leftmark,rightmark
#如果需要匹配的字符在正则表达式中时特殊字符,需要给予转义
if leftmark in special:
lf = '\%s'%leftmark
if rightmark in special:
rt = '\%s'%rightmark
pattern = re.compile(r''+lf + '.{0,}'+ rt)
matched = re.findall(pattern,str1)
result = []
if matched:
#如果匹配成功了,就去头去尾,直接取中间的部分
for m in matched:
s = m.replace(leftmark, '')
s = s.replace(rightmark, '')
result.append(s)
return result
else:
return None
if __name__ == '__main__':
print matchpattern("#abcsdfs%sdfsdf*",'%','*')