Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何编写从给定文本返回(“26”、“1”、“2014”)的正则表达式_Python_Regex - Fatal编程技术网

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上测试。你可以看到细节