完成以下任务的教科书方式是什么:
我有一个来自s_s * s_l * s_q * s_r * s_e
的字符串s,其中*
我的意思是连接运算符。
鉴于s
,s_l
和s_r
我有兴趣返回s_q
,我们可能会认为s_l
和s_r
只会发生一次在s
。
例如:s = "abcdefghij"
,s_l = "cd"
,s_r = "hi"
所以s_q = "efg"
。
在这种情况下,正则表达式方法是否合适?
答案 0 :(得分:1)
In [110]: s[s.find(s_l)+len(s_l): s.find(s_r)]
Out[110]: 'efg'
答案 1 :(得分:0)
您可以拆分字符串,因为您知道s_l
和s_r
只出现一次:
s = "abcdefghij"
s_l = "cd"
s_r = "hi"
print s.split(s_l)[1].split(s_r)[0] # Returns efg
您不需要使用正则表达式,因为s_l
和s_r
是静态的。如果你事先不知道s_l
和s_r
是什么,只有它们匹配某种模式,那么正则表达式可能会有所帮助。