2013-02-13 43 views
0

我有[110308] Asia and India字符串,我只想要Asia and India作为我的正则表达式的结果。通过正则表达式分割字符串

任何人都可以帮我吗?

+0

对不起,但正则表达式对我来说是新的。所以我不知道该怎么做。 – 2013-02-13 09:55:37

+0

所以你想在你的字符串中的第一个']'字符之后进行分割或者......? – 2013-02-13 09:55:48

+0

@TimPietzcker:是的,我想''''后面的字符串。 – 2013-02-13 09:57:03

回答

5

如果不想正则表达式你可以尝试

>>> '[110308] Asia and India'.split(']', 1)[-1].strip() 
'Asia and India' 

或只使用lstrip

>>> '[110308] Asia and India'.lstrip(" []" + string.digits) 
'Asia and India' 

或者,如果理由要坚持用正则表达式

>>> re.findall("^[\[\]\d ]*(.*)"," [110308] Asia and India")[0] 
'Asia and India' 
1
import re 
re.findall('[^0-9\[\]]+', '[110308] Asia and India')[0].strip() 
1

随着正则表达式尝试将[^a-zA-Z ]与一个空字符串。

+0

如果字符串是'[123456]圣托马斯岛'怎么办? – 2013-02-13 10:00:34

+0

我只是在处理这个例子,但是如果有' - '或'。'这需要考虑,那么它会读[^ a-zA-Z \。\ - ] – DMK 2013-02-13 10:10:07

1
import re 
re.split('[0-9\[\]]+ +', '[110308] Asia and India')[1] 
相关问题