我有一个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} /;',可以吗? –