鉴于来自SRV查询的域名,我想删除前导下划线但保留可能存在的任何内部下划线。域名通常如下所示:
_sipfederationtls._tcp.foo.com
我希望删除下划线:
sipfederationtls.tcp.foo.com
但如果有任何内部下划线:
_sipfederationtls._tcp.foo_bar.com
我希望保留它们:
sipfederationtls.tcp.foo_bar.com
我知道我需要使用replaceAll(),但我不了解正则表达式。基本上我需要一个表示下划线的正则表达式,后跟一些字符,以句点结束。
答案 0 :(得分:0)
如果必须使用正则表达式,则可以找到任何不带字符字符的下划线实例。为此,您将使用负面的lookbehind。因为句点不是单词字符,所以下面的表达式只匹配字符串“_sipfederationtls._tcp.foo_bar.com”中的“_sipfederationtls”和“_tcp”
(?<!\w)_\w