python - 杀死一个正在用正则表达式监听的端口

标签 python regex

我正试图在 python 中杀死一个监听端口。

os.system("sudo netstat -ap | grep 13000 > net.txt")
f = open("net.txt","r")
fr = f.read()

上述命令的输出是:

udp        0        0*:13000               *:*                  5071/python

到目前为止我有:

regex = re.compile(\d*.(python))
fl = regex.findall(fr)

上面的正则表达式只打印 python。

所以问题是,我如何创建一个正则表达式来只获取 PID 值 5071(这可以是任何其他数字)

编辑: 可能有多个值,因为可能有多个进程。

最佳答案

你可以使用积极的前瞻:

>>> s="udp        0        0*:13000               *:*                  5071/python"
>>> re.search(r'\d+(?=/python)',s).group(0)
'5071'

或者甚至只是一个普通的正则表达式和一个组:

>>> re.search(r'(\d+)/python', s).group(1)
'5071'

如果你有多个字符串,把上面的命令放在一个循环中:

for s in string_list:
    print re.search(r'(\d+)/python', s).group(1)

关于python - 杀死一个正在用正则表达式监听的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27557201/

相关文章:

python - 计算pandas中相应值的频率[python 3]

javascript - 使用正则表达式匹配特定语法

javascript - 更新正则表达式模式以允许 .xx 而不是 0.xx

java - 使用正则表达式过滤文本中具有某些特定条件的电子邮件地址

regex - R regex gsub分隔字母和数字

python - 递归解压缩文件,将(文件名,提取的内容)存储在字典中

python - 根据另一个字典对字典列表进行排序

python - 压缩和比较 Python 列表的高效准确方法?

Python 错误 123 文件名、目录名或卷标语法不正确

c# - 正则表达式否定问题