Java-为什么()可以匹配到的内容[]匹配不到?

发布于 2016-11-20 08:05:59 字数 186 浏览 1281 评论 1

对于这样的一个字符串“windows XP, windows 2000, windows 7, windows Vista,”
正则表达式 “windows (XP|7),” 可以匹配到 “windows XP,” 和 “windows 7,”
而 “windows [XP|7],” 却只能匹配到 “windows 7,” 是怎么回事?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偏爱自由 2017-10-06 12:20:18

(xp|7)这个是可以匹配表达式的,[]中只支持单个字符匹配,不支持表达式。也就是说[XP|7]这个匹配的结果是可以匹配 windows X,windows P,windows |,windows 7这四种,其中"|"被处理成普通字符的,并不是作元字符用的。这也是|和[]之间的一个区别

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文