0

一个字符串“forum/123/topic/4567”。

如何编辑正则表达式以分别获取“123”和“4567”?我在互联网上尝试了很多方法,但没有任何效果。

4

4 回答 4

0

假设表达式始终是那个表达式(数字除外),以下代码将执行以下操作:

import re
string = "forum/123/topic/4567"
result = re.match("forum/(.*)/topic/(.*)", string)
number1, number2 = result.groups()[:]

如果模式可以改变,我们将需要更多关于如何改变的信息。顺便说一句,可以在以下位置找到关于正则表达式的非常好的解释:http ://www.tutorialspoint.com/python/python_reg_expressions.htm 。

于 2013-07-15T22:07:22.237 回答
0

如果您只想要数字,请使用r'0-9+'. 这将为您提供与输入字符串分离的整数序列。

于 2013-07-15T22:03:54.833 回答
0

尝试类似的东西;forum/(\d+)/topic/(\d+) 对于 python 中的正则表达式,您可能需要re 模块,甚至还有示例

尽管 squiguy 提出了一个很好的观点,即re在这里过度杀伤:

>>> "forum/123/topic/4567".split("/")
['forum', '123', 'topic', '4567']
于 2013-07-15T21:58:39.293 回答
0
r'\w+/(\d+)/\w+/(\d+)

应该给你两组包含你的号码。

于 2013-07-15T21:59:42.613 回答