Python正则表达式在文本文件中查找字符串

-1 投票
5 回答
1890 浏览
提问于 2025-04-18 08:15

我现在正在写一个Python代码,目的是从一个文本文件中提取特定的字符串,这些字符串是夹在' '单引号之间的。以下是我正在使用的代码:

import re
pattern = "(\w+'*',)"
with open('C:\Documents and Settings\Ash\Desktop\strcount.txt', "r") as text:
    for line in text:
        print re.findall(pattern, line)

还有文本文件中的字符串列表

('FLBC8U', 24)
('cHvQuW', 24)
('7FDm@', 24)
('15ii?', 24)
('H!oDe', 24)
('RB6#U', 24)
('uAmer', 24)
('6NmDJ', 24)
('d-MS1', 24)
('Ejf&B', 24)

我只想提取在' '单引号中间的字符串,并且是在逗号,之前的部分,所以数字和括号都不需要。

5 个回答

0

如果这些字符串只是简单地排列在一行,你可以这样做:

>>> "('FLBC8U', 24)"[1:-1].split(',')[0]
"'FLBC8U'"
0

试试这个模式:

   \(\'(.*)\',.+\)

举个例子:http://regex101.com/r/aZ6tU6

0

我的正则表达式:

(?<=\').*(?=\',)

你可以在 这里 查看结果。


顺便说一下,这个 网站 对于在 Python 中使用正则表达式非常有帮助。

0

这段代码应该能帮你解决问题:

(?<=\(')((?!').)*(?=')

解释可以在这里找到

2
s = "'FLBC8U', 24"

print re.findall("'([^']*)'", s)[0]
FLBC8U

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

撰写回答