我不知道 Perl,所以我现在不能用 Perl 编写这个脚本。这是在 python 中,这里发生的事情应该很简单。如果你知道 Perl 我很肯定你可以把这个脚本翻译成 Perl。我希望你欣赏我的努力。
该脚本首先搜索所有链接,然后为每个链接搜索 guid 和部分标记内容。
import re
sample_str = """
<a href='/mysite/test/sample2/_layouts/ListEdit.aspx?List={2A1D7816-6AC1-4B3B-B9E9-9EEF1B31F812}' onclick='GoToLink(this);return false;'>Customize "Sample List"</a>
bla bla
<a href='/mysite/test/sample2/_layouts/ListEdit.aspx?List={21M31F46-937B-88B3-U7Z1-99DFJZ9N249A}' onclick='GoToLink(this);return false;'>Another "This is it"</a>
"""
links = re.findall('<a .*?</a>', sample_str)
for link in links:
print 'link:'
print ' ' + link
print 'list:'
print ' ' + re.search('List={([^}]*)}', link).group(1)
print 'quoted text:'
print ' ' + re.search('>[^<]*"([^<]+)"[^<]*</a>', link).group(1)
print ''
此脚本的输出将是:
link:
<a href='/mysite/test/sample2/_layouts/ListEdit.aspx?List={2A1D7816-6AC1-4B3B-B9E9-9EEF1B31F812}' onclick='GoToLink(this);return false;'>Customize "Sample List"</a>
list:
2A1D7816-6AC1-4B3B-B9E9-9EEF1B31F812
quoted text:
Sample List
link:
<a href='/mysite/test/sample2/_layouts/ListEdit.aspx?List={21M31F46-937B-88B3-U7Z1-99DFJZ9N249A}' onclick='GoToLink(this);return false;'>Another "This is it"</a>
list:
21M31F46-937B-88B3-U7Z1-99DFJZ9N249A
quoted text:
This is it
如果你有 python,你可以很容易地python scriptname.py
在命令行上运行脚本。