Regex-匹配除此模式以外的所有模式(以及第一个和最后一个)
我正在尝试调整DNS数据的模式,以匹配看起来像DNS地址的内容。在这个例子中,我有一个字符串,看起来像这样Regex-匹配除此模式以外的所有模式(以及第一个和最后一个),regex,dns,Regex,Dns,我正在尝试调整DNS数据的模式,以匹配看起来像DNS地址的内容。在这个例子中,我有一个字符串,看起来像这样 (19)espnfivethirtyeight(5)files(9)wordpress(3)com(0) 我想将其更改为实际的DNS名称,如下所示: espnfivethirtyeight.files.wordpress.com 是否有一个正则表达式可以做到这一点?这可以通过两个步骤完成 使用此正则表达式并替换为空 ^\(\d+\)\(\d+\)$这将用空字符串替换第一个和最后一个(数
(19)espnfivethirtyeight(5)files(9)wordpress(3)com(0)
我想将其更改为实际的DNS名称,如下所示:
espnfivethirtyeight.files.wordpress.com
是否有一个正则表达式可以做到这一点?这可以通过两个步骤完成
^\(\d+\)\(\d+\)$
这将用空字符串替换第一个和最后一个(数字)
\(\d+\)
这将用点替换每次出现的(数字)
因为没有迹象表明存在正则表达式环境。我假设它是python
import re
data = "(19)espnfivethirtyeight(5)files(9)wordpress(3)com(0)"
rx = re.compile(r"\(\d+\)")
print('.'.join([x for x in rx.split(data) if x!='']))
根据输入字符串,它将打印:
espnfivethirtyeight.files.wordpress.com
您使用的是什么正则表达式风格?您尝试过什么?这是为了在DNS中进行Splunk安装和字段提取/替换。我相信Python是他们利用的正则表达式。这个答案让我有很多话要说。对于这个问题,还有一个关于Splunk答案的答案。@theGlitchKing:你也可以发布这个答案。