2017-08-31 84 views
1

我仍然不明白正则表达式。我阅读了文档,但在提出正则表达式字符之后,如何使用它们?Python:返回正则表达式之间的字符串

例如,我想前两个斜线

en/lemon_peel/n/, 
ca/llimona/n/, 

之间仅无论返回输出的是应该是:lemon_peel和llimona

我试过正则表达式测试仪是这样的:([^/]*)但从来没有做过

+1

为什么不使用split而不是正则表达式 –

+1

而不是正则表达式'your_line.split('/')[1]'怎么样? –

+0

@KlausD。谢谢,它工作! – iCoder

回答

2

如果你想使用正则表达式,你应该使用正则表达式是这样的:

import re 

tmp_string = ''' 
    en/lemon_peel/n/, 
    ca/llimona/n/, 
    ''' 

reg = re.search('/([^/,]*)/',tmp_string) 
result = reg.group(1) 

在你的情况下,你会发现所有不是'/'的符号。

或者你可以使用split函数,而不是re

tmp_string.split('/')[1] 
+0

谢谢,但我的意思是现在把这些角色放在哪里?在split()函数中或在哪里? – iCoder

+0

我编辑我的答案,对于正则表达式,你应该在Python中使用're'模块 – Vladyslav

1

如果absolutelly要使用正则表达式,你可以使用以下命令:

import re 
pattern = r'\w[^/]*' 
results = re.findall(pattern, "en/lemon_peel/n/") 

results值是列表:

['en', 'lemon_peel', 'n'] 
相关问题