Python 如何编写从给定文本返回(“26”、“1”、“2014”)的正则表达式
鉴于这一案文:Python 如何编写从给定文本返回(“26”、“1”、“2014”)的正则表达式,python,regex,Python,Regex,鉴于这一案文: text_q2f = '169.237.46.168 - - [26/Jan/2014:10:47:58 -0800] \ "GET /stat141/Winter04/ HTTP/1.1" 200 2585 \ "http://anson.ucdavis.edu/courses/"' 我尝试了各种方法,但没有接近或保留任何方法。您可以使用re.search在字符串中搜索该模式: >>> import re >>> s = re.search
text_q2f = '169.237.46.168 - - [26/Jan/2014:10:47:58 -0800] \
"GET /stat141/Winter04/ HTTP/1.1" 200 2585 \
"http://anson.ucdavis.edu/courses/"'
我尝试了各种方法,但没有接近或保留任何方法。您可以使用re.search在字符串中搜索该模式:
>>> import re
>>> s = re.search(r'[(\d{2})/([a-zA-Z]+)/(\d{4})', text_q2f)
>>> s.groups()
('26', 'Jan', '2014')
>>>
如果URL遵循以下格式,则它也可以与URL匹配。建议创建非捕获组以在日期前后进行匹配,或者,仅在字符串的第一行执行正则表达式。该字符串返回['26','Jan','2014']。你知道我怎样才能让它只返回“26”、“1”、“2014”吗?谢谢检查这个/\d{1,2}[.\-/][A-Za-z]{1,3}[.\-/]\d{1,4}/g“我试过各种各样的东西,但没有接近或保留过任何东西。”你试过什么?请用这个/\d{1,2}[-/][A-Za-z]{3}[-/]\d{4}/它将分三组阅读。在JavaScript上测试。你可以看到细节