我正在使用regex获取字符串的某些部分。让我说我正在捕获3组。我将这三个组存储在db中。现在,我想重新创建来自这些组的原始字符串。有什么办法可以做到吗?
例如,原始字符串
longPrefix-202007_3847c820e158484dbc6ff486fc08cf6a.someSuffix正则表达式
^(longPrefix-)(\d+)(_)([a-fA-F0-9]+)(.someSuffix)在此之后将有三个小组,
group1: longPrefix-
group2: 202007
group3: _
group4: 3847c820e158484dbc6ff486fc08cf6a
group5: .someSuffix我只存储group2和group4,因为这只是在改变部分。
问题是,只能使用group2、group4和regex?生成原始字符串。
发布于 2021-07-29 10:09:44
我不知道有任何允许您在这种意义上访问它。
换句话说,理论上您可以编写软件,确定如果regexp匹配加上第2组和第4组的内容,输入必须是- -这里的输入,但这是非常奇怪的事情,而且我所知道的基于java的regexp实现没有给您编写这样的东西所需的API调用。
所以,要么自己花几周的时间来写这篇文章,要么为这个特定的情况编写它:将regexp本身与一个简单的方法匹配,其中包含两个字符串,然后只发出return "longPrefix-" + in1 + "_" + in2 + ".someSuffix";。
https://stackoverflow.com/questions/68573848
复制相似问题