正则表达式提取字符串

发展

我需要正则表达式的帮助才能从字符串中获取以下内容

dal001.caxxxxx.test.com. ---> caxxxxx.test.com
caxxxx.test.com -----> caxxxx.test.com

因此,基本上在第一个示例中,我不需要dal001或以3个字母和3个数字开头的任何东西,并且如果仅以开头,则需要字符串的其余部分ca

在第二个示例中,我希望整个字符串仅以开头ca

到目前为止,我已经尝试过了,(^[a-z]{3}[\d]+\.)?(ca.*)但是当字符串为时它不起作用dal001.mycaxxxx.test.com

任何帮助,将不胜感激。

维克多·史翠比维

您可以使用

^(?:[a-z]{3}\d{3}\.)?(ca.*)

请参阅regex演示要使其不区分大小写,请使用re.Ire.search(rx, s, re.I),参见下文)进行编译

详细资料

  • ^ -字符串开始
  • (?:[a-z]{3}\d{3}\.)? -由3个字母组成的可选序列,然后由3个数字和一个 .
  • (ca.*)-第1组:ca字符串的其余部分。

参见Python演示

import re
rx = r"^(?:[a-z]{3}\d{3}\.)?(ca.*)"
strs = ["dal001.caxxxxx.test.com","caxxxx.test.com"]
for s in strs:
  m = re.search(rx, s)
  if m:
    print( m.group(1) )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章