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