0
在JS,如果我有一个像正则表达式:从.match更改捕获组顺序()
new RegExp('^(.*?) in the year ([0-9]{1,4})$|^([0-9]{1,4}) is the year$')
那么我该如何确保“年”部分始终是相同的捕获组,这样我可以像matches[2]
那样访问它?目前,如果RegExp的第一部分匹配,则年份为matches[2]
,但在第二部分中为matches[1]
。我想让他们相同,以便我可以始终检索相同的值。
另外请记住,我想在开始时仍然捕获(.*?)
,所以只是简单地移除那些parens不会帮助我。
您是否使用那些其他捕获组?或者我们可以让他们成为非捕获组? ('0-9] {1,4})$ {^}(){[0-9] {1,4})是“肮脏”的解决方案,年$“更清晰的解决方案是将上述内容分解为两个正则表达式调用。 – abc123 2014-09-05 01:13:12