[英]Extract substring with Regex on Python 3
我正在尝试使用Regex提取子字符串,
这是我的脚本:
import re
_text = "sdiskpart(device='D:\\', mountpoint='D:\\', fstype='FAT32', opts='rw,fixed')"
print(re.findall("device=(\\'.*\\')", _text))
我正在尝试获取设备的值,在此字符串中为“ D:\\”
如您所见,我用REgex尝试了“ device =(\\'。* \\')”,它返回了:
[“'D:\\',mountpoint ='D:\\',fstype ='FAT32',opts ='rw,fixed'”]]
我在REgex上不是专业人士,如何强制它采用D:\\并打印出来?
您可以使用非热切的正则表达式
import re
print( re.findall("device='(.*?)'", _text))
注意。*吗? 表示不急,所以它将花费最少的字符直到下一个'...
参考https://docs.python.org/3/library/re.html
>>> print(re.findall("device=(\\'[A-Z]:\\\\')", _text))
["'D:\\'"]
您可能需要将*替换为[AZ]。 我认为驱动器盘符总是大写,否则使用[A-Za-z]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.