Python正则表达式提取字符串从行

问题描述:

我在Python 3.4编程。 我正在读取不同文件中的行,并且当我到达包含特定字符串的行时,我只想从该行提取路径字符串。 例子:Python正则表达式提取字符串从行

文件行是:

TEST_CASE_CHECK = require("TestCases/AOL/TU_Extract_Log_Details") 

我搜索:require("TestCases

我想只能提取:TestCases/AOL/TU_Extract_Log_Details

我知道这可以用正则表达式来完成,但我做不到弄清楚如何去做。

+0

请把你的尝试。 – SirParselot

+0

看看[*提取双引号之间的字符串*](http://*.com/questions/22735440/extract-a-string-between-double-quotes),可能也适合你。 –

我不知道你行的其余部分看起来像但这应该工作

import re 

s = 'TEST_CASE_CHECK = require("TestCases/AOL/TU_Extract_Log_Details")' 

mat = re.search(r'(TestCases.*)"',s) 
if mat: 
    print(mat.group(1)) 

TestCases/AOL/TU_Extract_Log_Details 
+0

非常感谢!有效。 –

+0

@mariusalex如果这是您想要的解决方案,请不要忘记点击绿色检查。 – SirParselot

是不是你在找什么?

import re 
p = re.compile(ur'require\("(TestCases[^"]*)') 
test_str = u"TEST_CASE_CHECK = require(\"TestCases/AOL/TU_Extract_Log_Details\")" 

re.findall(p, test_str) 

https://regex101.com/r/zJ0sM3/1

import re 

line = 'TEST_CASE_CHECK = require("TestCases/AOL/TU_Extract_Log_Details")' 

result = re.match(r'.*require.+"([^"]*)".*', line) 

print result.groups()[0] # prints "TestCases/AOL/TU_Extract_Log_Details"