该模式来自以下代码片段。
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?)
模式的模式吗?
发布于 2018-07-22 08:39:38
不是,这些是常规问号,使上一个字符或组成为可选的。
(-)?infinityd?
匹配"infinity“,前面有一个可选的减号,后面有一个可选的"d”。如果减号存在,则在组2中捕获它。infinity infinityd nan -infinityd
nand?
匹配“-infinity”和可选的尾随"d“。nan nand
https://stackoverflow.com/questions/51461085
复制相似问题