如何在替换角色之前重复捕获
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在替换角色之前重复捕获相关的知识,希望对你有一定的参考价值。
我花了最近两天的时间来找到一个正则表达式,用左下角替换每个点。
表达式是:
name.of.the.film.(year).codec.quality. ... .extension
其中:
(year)
匹配((d){4})
name.of.the.film.
匹配([^.]+.)+
(可能是name.of.
或name.of.the.film.name.of.the.film.
)
我试过^(([^.]+(.))+)(
我能够捕捉括号前的最后一点,因为据我所知,重复捕捉只保留最后一场比赛。但是如何捕捉每一个点匹配。
[编辑]如下面的评论中所述,表达式中可能出现几个左括号。我必须在第一个左括号之前替换点。
答案
这应该符合您的要求:
/[.](?=.*()/g
一个点,后跟任何以左括号终止的字符串的正向前瞻。
替换演示:https://regex101.com/r/PEur1t/1
编辑:如果括号中出现多次字符串,这可能无法给出预期的结果,因为它会将每个点替换为最后一个左括号。因为在没有任何其他假设的情况下,不太可能成功地理解哪一个是期望的那个,我现在假设年份将是一个四位数的字符串:
/[.](?=.*(d{4})/g
但是:ぁzxswい
以上是关于如何在替换角色之前重复捕获的主要内容,如果未能解决你的问题,请参考以下文章