我不经常使用正则表达式,我有一个罕见的例子,下面将介绍。我想用关于芬德尔()命令输出。[用于在远程主机上运行命令的pexcept]
root@test# cinder image-metadata-show 9a4d222b-a6f2-4ddc-a1ce-9a635335a4b4 | grep 'image_id' | cut -d '|' -f3
46519bdf-3ae9-44e2-acce-bd1ac76fd523
我正在尝试获取46519bdf-3ae9-44e2-acce-bd1ac76fd523关于芬德尔()但问题是关于芬德尔甚至在命令中也是匹配的。我的最终输出如下
re.findall("(\w+-\w+-\w+-\w+-\w+)", volume_show)
output:['9a4d222b-a6f2-4ddc-a1ce-9a635335a4b4', '46519bdf-3ae9-44e2-acce-bd1ac76fd523']
我想对9a4d222b-a6f2-4ddc-a1ce-9a635335a4b4进行转义,它存储在代码中的一个变量中。你知道吗
例如:
vol_id = 9a4d222b-a6f2-4ddc-a1ce-9a635335a4b4
re.findall("(\w+-\w+-\w+-\w+-\w+)", volume_show) except vol_id
output = ['46519bdf-3ae9-44e2-acce-bd1ac76fd523']
我该怎么做?我遇到了再逃逸()和使用“负面展望”时,不太清楚如何使用再逃逸以及关于芬德尔()一起。任何建议都将不胜感激。你知道吗
短暂性脑缺血发作
您可以使用负前瞻模式:
可以在正则表达式的开头添加字符,以匹配行首和换行符。 下面是对表达式的一个修改,它匹配一行开始符
^
或换行符\n
一个可变的空格数\s*
,然后是4组字母数字:[\^\n]\s*(\w+-\w+-\w+-\w+-\w+)
下面是它在python会话中的外观:
你不能做一些后期处理吗?就像
相关问题 更多 >
编程相关推荐