Regex 对正则表达式中使用{1}感到困惑

Regex 对正则表达式中使用{1}感到困惑,regex,Regex,在最近关于堆栈溢出的几个问题中,我看到了regex序列{1}。在我熟悉的正则表达式引擎中,重复计数1是完全多余的 是否有一个我不知道的正则表达式引擎,对于它来说这是不正确的 这个显式计数1是否是试图注释/强调前面的是元字符 我只是想了解这种做法的动机 链接:是最近的。。。寻找另一个…将{1}放在任何可重复的术语之后都没有任何效果 我可以理解{1}是否出现在使用一个项计数变量生成的正则表达式中,例如: String regex = "foo.{" + n + "}bar"; 匹配由n字符分隔的

在最近关于堆栈溢出的几个问题中,我看到了regex序列
{1}
。在我熟悉的正则表达式引擎中,重复计数1是完全多余的

是否有一个我不知道的正则表达式引擎,对于它来说这是不正确的

这个显式计数1是否是试图注释/强调前面的
是元字符

我只是想了解这种做法的动机



链接:是最近的。。。寻找另一个…

{1}
放在任何可重复的术语之后都没有任何效果

我可以理解
{1}
是否出现在使用一个项计数变量生成的正则表达式中,例如:

String regex = "foo.{" + n + "}bar";

匹配由
n
字符分隔的
“foo”
“bar”
。当
n
恰好是
1
时,您会得到
“foo.{1}条”

它很可能是单点。我不知道有哪个正则表达式引擎的
{1}
@Jongware不同,这是一个合理的解释…@Jongware:我想你的意思是“你可以把
{1}
放在任何东西之后”,而不是之前。是否要删除并重新创建您的评论,以便对其进行投票?最好链接到答案中使用此选项的问题,而不是问题。写问题的人通常不知道他们在做什么,所以你不应该把他们的代码作为好的编码的例子。你可以把
{1}
放在任何东西后面,不管是不是元字符。“在最近的几个问题中”暗示了神奇的思维和/或货物崇拜编程。有点像在任何事情之前添加反斜杠。(Magical Thinking=“它在别处起作用,所以它在这里也必须起作用”;Cargo Cult Programming=“我从一个工作示例中复制了这个片段”。)我可以告诉你,我过去确实做过类似的事情,我必须编写代码来获取某种专有格式的字符串,并将其转换为正则表达式。我将得到一个计数器,用于连续出现的次数,并将其转换为
“{”+count+“}”
。当
count==1
时,只需将其保留在其中就更容易了,因为正则表达式引擎正确地解析了它,并且它不需要修改我的代码。回答正确(+1),但我不确定它是否与我看到它的上下文相匹配。这确实是唯一有意义的上下文。对于
{0}
,也可以这样说。它和前面的令牌是冗余的,但是构造允许生成的正则表达式工作,而不必处理条件和内容。