【发布时间】:2017-11-09 23:03:02
【问题描述】:
我在java中看到了压缩IPV6的代码。
link 指定相同。
下面是 Java 中的代码。 String resultString = subjectString.replaceAll("((?::0\\b){2,}):?(?!\\S*\\b\\1:0\\b)(\\S*)", "::$2");
但是在 Javascript 中,我很困惑如何让正则表达式匹配相同的 .你能在这里分享一些建议吗?
示例:fe80:00:00:00:8e3:a11a:2a49:1148 结果:fe80::8e3:a11a:2a49:1148
【问题讨论】:
-
不要将标签
pattern-matching用于正则表达式问题。 -
将
\b(?:0+:){2,}替换为:。 Check it out at regex101. -
@ClasG 你的意思是 subjectString.replace("::?(?!\\S*\\b\\1:0\\b)(\\S*)", ":: 2美元”)? .试过但没有运气
-
不;)看我的回答
-
subjectString.replace(/(^|:)0+(?!(?::|$))/g, "$1").replace(/(:(?:0:){2,})(?!\S*(?:\1)0:)/, "::")待会再解释
标签: javascript regex pattern-matching