val line1
= "127.0.0.1 ssl.google-analytics.com" val line2
= "#127.0.0.1 ssl.google-analytics.com" val line3
= "127.0.0.1 ssl.google-analytics.com # Comment" val line4
= "#127.0.0.1 ssl.google-analytics.com # Comment"
val lineRegex
= """(^#?).*(?:127\.0\.0\.1)\s+((?!-)[A-Za-z0-9-\.]{1,63}(?<!-)\.+[A-Za-z]{2,6})\s*(#?.*)""".
r val m
= lineRegex.
findFirstMatchIn(line2
).
get
println(m.group(1)) // Should be # or ""
println(m.group(2)) // Should be ssl.google-analytics.com
println(m.group(3)) // Should be # Comment or ""
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJdmFsIGxpbmUxID0gIjEyNy4wLjAuMSBzc2wuZ29vZ2xlLWFuYWx5dGljcy5jb20iCgl2YWwgbGluZTIgPSAiIzEyNy4wLjAuMSBzc2wuZ29vZ2xlLWFuYWx5dGljcy5jb20iCgl2YWwgbGluZTMgPSAiMTI3LjAuMC4xIHNzbC5nb29nbGUtYW5hbHl0aWNzLmNvbSAjIENvbW1lbnQiCgl2YWwgbGluZTQgPSAiIzEyNy4wLjAuMSBzc2wuZ29vZ2xlLWFuYWx5dGljcy5jb20gIyBDb21tZW50IgoJCgl2YWwgbGluZVJlZ2V4ID0gIiIiKF4jPykuKig/OjEyN1wuMFwuMFwuMSlccysoKD8hLSlbQS1aYS16MC05LVwuXXsxLDYzfSg/PCEtKVwuK1tBLVphLXpdezIsNn0pXHMqKCM/LiopIiIiLnIKCXZhbCBtID0gbGluZVJlZ2V4LmZpbmRGaXJzdE1hdGNoSW4obGluZTIpLmdldAoJCglwcmludGxuKG0uZ3JvdXAoMSkpICAvLyBTaG91bGQgYmUgIyBvciAiIgoJcHJpbnRsbihtLmdyb3VwKDIpKSAgLy8gU2hvdWxkIGJlIHNzbC5nb29nbGUtYW5hbHl0aWNzLmNvbQoJcHJpbnRsbihtLmdyb3VwKDMpKSAvLyBTaG91bGQgYmUgIyBDb21tZW50IG9yICIiCn0=