import re

url = 'http://xxxxx.com/detail/028QCQZ?things_here'
re.search("detail/([A-Z0-9]+)\?", url).group()


返回:

'detail/028QCQZ?'


我认为正则表达式中使用了括号来指定要返回字符串的哪一部分。

我只想获取代码:028QCQZ

最佳答案

您需要像这样使用第一个捕获的组:

re.search("detail/([A-Z0-9]+)\?", url).group(1)
//=> 028QCQZ


如果使用环顾四周,则可以使用group()像这样:

re.search(r"(?<=detail/)[A-Z0-9]+(?=\?)", url).group()
//=> 028QCQZ

关于python - 如何只返回正则表达式的特定部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30912820/

10-12 14:06