Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex-匹配除此模式以外的所有模式(以及第一个和最后一个)_Regex_Dns - Fatal编程技术网

Regex-匹配除此模式以外的所有模式(以及第一个和最后一个)

Regex-匹配除此模式以外的所有模式(以及第一个和最后一个),regex,dns,Regex,Dns,我正在尝试调整DNS数据的模式,以匹配看起来像DNS地址的内容。在这个例子中,我有一个字符串,看起来像这样 (19)espnfivethirtyeight(5)files(9)wordpress(3)com(0) 我想将其更改为实际的DNS名称,如下所示: espnfivethirtyeight.files.wordpress.com 是否有一个正则表达式可以做到这一点?这可以通过两个步骤完成 使用此正则表达式并替换为空 ^\(\d+\)\(\d+\)$这将用空字符串替换第一个和最后一个(数

我正在尝试调整DNS数据的模式,以匹配看起来像DNS地址的内容。在这个例子中,我有一个字符串,看起来像这样

(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:你也可以发布这个答案。