用于在文本文件之间查找字符串的Python正则表达式

时间:2014-06-02 09:11:35

标签: python regex string text-files

我目前正在使用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 :(得分:2)

s = "'FLBC8U', 24"

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

答案 1 :(得分:0)

这应该为你解决:

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

解释here

答案 2 :(得分:0)

我的正则表达式:

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

您可以查看结果here


顺便说一句,这个site对于在python中使用正则表达式非常有帮助。

答案 3 :(得分:0)

尝试使用此模式:

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

示例:http://regex101.com/r/aZ6tU6

答案 4 :(得分:0)

如果字符串只是一行,你可以这样做:

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