我需要一个python一行,它将返回字符串中找到的所有URL,并将其放入bash数组中。类似于:
URLs=($(echo 'foo bar baz http://blackfridaygift.info/BUu4nmkRR baz foo bar http://inhelation.com/fil/iowa/lvmk65irqibpmi972hz6xx2k.php%3FLA4i9C1606274697520fdd2ad4cf649e25ae72996c901bf1520fdd2ad4cf649e25ae72996c901bf1520fdd2ad4cf649e25ae72996c901bf1520fdd2ad4cf649e25ae72996c901bf1520fdd2ad4cf649e25ae72996c901bf1' | python -c 'something here'))
我花了一个小时在谷歌上搜索,但似乎找不到正确的答案。
使用regular expression
匹配http:....
或https:...
。
import re
import sys
matched = re.findall(r"https?:S+", sys.stdin.read())
print(matched)
通过转换为单行。。。
URLS=$(echo '....' | python -c 'import re, sys; print(re.findall(r"https?:S+", sys.stdin.read()))')