我正在尝试构建一个正则表达式,它将(在一定程度上)所有dns名称从大量负载平衡配置中拉出来。我是regex的新手,似乎我的正则表达式的语法已关闭并导致错误:语法无效。我最近学到了很多python,但是几天前刚刚介绍了正则表达式的魔法世界,如果可以利用它,它就是一个强大的动物。 :d
输入如下:
add lb vserver LB_TEST_EXT_treehouse.uncle.com SSL 10.212.17.100 443
add lb vserver LB_TEST_INT_treehouse.uncle.com SSL 10.212.17.99 443
add lb vserver REDIRECT_INT_tnucwcf.monkey.com HTTP 10.212.17.147 80 -
add lb vserver REDIRECT_EXT_tnucwcf.monkey.com HTTP 10.212.17.148 80 -
bind lb vserver LB_tnucleuswcf.oncologysupply.com 130-wbsvc-t-004
bind lb vserver SSL_INT_unucwcfSL.monkey.com 130-wbsvc-t-004
bind lb vserver SSL_EXT_unucwcfSL.moneky.com 130-wbsvc-t-004
bind lb vserver SSL_INT_unucrepSL.monkey.com 130-wbsvc-t-004
bind lb vserver SSL_EXT_unucrepSL.monkey.com 130-wbsvc-t-004
bind ssl vserver CS_INT_tnucwcf.monkey.com -eccCurveName P_256
bind ssl vserver CS_INT_league.oflegends.com -eccCurveName P_384
这是我的代码段。所有帮助都是时间的一部分。谢谢你的阅读。它应该看到url,然后抓住整个字符串它的每一行,因为我可以在以后删除重复。
import re
dns = []
filename = ('ns-config.back')
with open(filename + 'txt', 'r') as file:
lines = file.read().splitlines()
for line in lines:
if re.search(r'(add lb vserver )(\S+)(([\w_-]+(?:(?:\.[\w_-]+)+))
([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?,line)':
dns.append()
print(dns)