Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python2.7需要grep文件中的特定单词_Python 2.7 - Fatal编程技术网

Python 2.7 Python2.7需要grep文件中的特定单词

Python 2.7 Python2.7需要grep文件中的特定单词,python-2.7,Python 2.7,我需要从下面的文件中grep一个表达式:请帮助我想grep disk@后面的单词直到逗号 cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0 像这样?它会打印出来”disk@w5000cca025884d5d" 可能需要将逗号作为特殊字符转义: import re s = 'cat out1 boot-d

我需要从下面的文件中grep一个表达式:请帮助我想grep disk@后面的单词直到逗号

cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0

像这样?它会打印出来”disk@w5000cca025884d5d"


可能需要将逗号作为特殊字符转义:

import re

s = 'cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@0/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0'
match = re.search(r'disk@(.*)\,', s)

if match:
    print match.group(1)
产出:

w5000cca025884d5d

Grep是一个shell工具。这是一个什么样的Python问题?我的意思是想得到这个词disk@till逗号。请检查以下内容:disk@w5000cca025884d5dI假设“grep”的意思是“使用正则表达式”?Python为此提供了一个库。请参阅以下内容:查看此工具:(请确保在左侧将其设置为Python)和Python正则表达式文档。非常感谢,我可以打印此作品,但我不需要逗号。请检查:disk@w5000cca025884d5d当然就像我上面所做的那样,把它移到()之外。非常感谢它的工作。但是我的错误是我的要求是搜索表达式disk@and逗号前少一个字符。我真的很抱歉。你可以把disk@表达式移到括号外,就像我用逗号做的那样。但我不明白你说少一个是什么意思?所以你想要w5000cca025884d5而不是w5000cca025884d5d?如果您只想删除最后一个字符,您可以添加一个[:-1]如下:print(m.group(1)[:-1]),非常感谢您的及时回复。这很有效。我想从输出中删除第一个和最后一个字母。这是我的要求。非常感谢您的帮助。好的,但是另一个答案没有解决您的问题吗?也许您想按照另一个答案的注释中所述,切掉第一个和最后一个字符:
print match.group(1)[1:-1]
->
5000cca025884d5
w5000cca025884d5d