我需要正则表达式的帮助才能从字符串中获取以下内容
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.I
(re.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] 删除。
我来说两句