首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何理解java代码示例中的regex模式?

如何理解java代码示例中的regex模式?
EN

Stack Overflow用户
提问于 2018-07-22 08:27:02
回答 1查看 126关注 0票数 -3

该模式来自以下代码片段。

private static Pattern specialDoubleRegex = Pattern.compile("((-)?infinityd?)|(nand?)", Pattern.CASE_INSENSITIVE);

我是个初学者。我开始使用Pattern类来编写我自己的正则表达式。我在Java code example中看到了这个例子,.I不能完全理解它们。我们是否在使用特殊的构造(?<name>X)?根据precious post和javase7文档,在这里不是特殊的构造。(-)?infinityd?是关于什么的?我可以说它们是看起来像((X)?XY?)|(X?)模式的模式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-22 08:39:38

不是,这些是常规问号,使上一个字符或组成为可选的。

  • (-)?infinityd?匹配"infinity“,前面有一个可选的减号,后面有一个可选的"d”。如果减号存在,则在组2中捕获它。

infinity infinityd nan -infinityd

  • nand?匹配“-infinity”和可选的尾随"d“。

nan nand

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51461085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档