Regex 正则表达式以根据点选择获取值
我有下面提供的一些主机名,我只想提取dotRegex 正则表达式以根据点选择获取值,regex,regex-group,Regex,Regex Group,我有下面提供的一些主机名,我只想提取dot linux7.4q22018.am.nomas.net uskbkriq01v.na-rdc.pro.com dtc2233.dti.us-cdc.pro.com atgrk01labt001v.at-cdc.rci.rs.pro.com atgrk01labt002v.at-cdc.rci.rs.pro.com 我的试用版: 我正在使用下面的rgex,它提取主机名包含第一个点后得到的所有内容 ([?\.].*) 结果 .4q22018.am.
linux7.4q22018.am.nomas.net
uskbkriq01v.na-rdc.pro.com
dtc2233.dti.us-cdc.pro.com
atgrk01labt001v.at-cdc.rci.rs.pro.com
atgrk01labt002v.at-cdc.rci.rs.pro.com
我的试用版:
我正在使用下面的rgex,它提取主机名包含第一个点后得到的所有内容
([?\.].*)
结果
.4q22018.am.nomas.net
.na-rdc.pro.com
.dti.us-cdc.pro.com
.at-cdc.rci.rs.pro.com
.at-cdc.rci.rs.pro.com
预期:
am.nomas.net
na-rdc.pro.com
us-cdc.pro.com
rci.rs.pro.com
rci.rs.pro.com
使用:
每个
[^.]+
匹配一系列非点字符。因此,这与其中3个匹配,由
分隔。$
使它在字符串末尾匹配,因此它匹配最后3个组。您是在尝试编写正确的regexp,还是只是发布一个猜测,以便有人为您做这件事?您的regexp中没有3个点。为什么字符集中有?
?当它在[]
@Barmar中时,也不必转义
,这是我在splunk中使用的正确正则表达式,我已经对它进行了测试
[^.]+\.[^.]+\.[^.]+$