我有一個Grails配置限制的重複位的正則表達式:正則表達式以限制重複的數字
password.regex = /^(?!.*([0-9])\1{2,})/
能正常工作時,我測試此在https://regex101.com/。不過,這並不在我們的JS代碼,因爲它修改了正則表達式的工作:
var passRegex = /(${ConfigurationHolder.config.password.regex})/;
所以結果是這樣的,而不是:
/(^(?!.*([0-9])\1{2,}))/
不幸的是,我不能改變的js代碼,所以我只會依賴修改配置。有人可以幫我修改這個表達式
/(^(?!.*([0-9])\1{2,}))/
使預期不除去第一對開啓和關閉括號它會奏效。
那些外括號不會造成任何傷害。 –
嗨,但是當我在regex101.com上測試這個正則表達式/(((((!!.*([0-9])\1{2,}))/時,它並不像預期的那樣工作,與/ ^(?! 。*([0-9])\ 1 {2,})/ – SpongebobJunior
啊,我明白了,反向引用。所以,只需用'\ 2'替換'\ 1'。嘗試'password.regex =/^(?!。*([0-9])\ 2 {2,})/'。所以,你不能把'var passRegex = /($ {ConfigurationHolder.config.password.regex})/;'改成'var passRegex =/$ {ConfigurationHolder.config.password.regex} /;',可以嗎? –