繁体   English   中英

python regex搜索停止查找\\ n caracter

[英]python regex search stop on find \n caracter

我需要从json字符串中抓取数据,我当前的代码是:

import re
>>> output = """
... Uploading file 'ex4-to-mq4-ps-decompiler.mp4'...
... Progress:    13.29 Mbps, 3703728 / 3703084 (100.017%) ETA       0s
... Upload successful! Video ID: tZ5xaRLhljc
... Video added to playlist 'decompile mql4' (PL2Q1nwGTMjdeAsBn6mcQ7KuFo6K7_g8_L)
... Video added to playlist 'decompile ex4' (PL2Q1nwGTMjdffMBkc6L4r6SeXnjz7eUiP)
... """
re.search("Video ID: (.+)", output, re.S).group(1)

>>> re.search("Video ID: (.+)?", output, re.S).group(1)
"tZ5xaRLhljc\nVideo added to playlist 'decompile mql4' (PL2Q1nwGTMjdeAsBn6mcQ7KuFo6K7_g8_L)\nVideo added to playlist 'decompile ex4' (PL2

我只需要提取视频tZ5xaRLhljc ID,我该怎么做?

re.Sre.DOTALL ,它使. 与换行符\\n匹配。 如果将其删除, . 将不再与换行符匹配,并且您的代码将可用。 也许是更安全的解决方案

re.search(r"Video ID: (\w+)", output).group(1)

\\w匹配所有“单词”字符(即非空格)。

尝试这个:

re.search("Video ID: (.+)\n", output).group(1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM