簡體   English   中英

正則表達式限制重復數字

[英]Regex to limit repeating digits

我在限制重復數字的 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,}))/ 

這樣它就可以在不刪除第一對左括號和右括號的情況下按預期工作。

一個合乎邏輯的解決方案是從您擁有的代碼中刪除外括號,例如var passRegex = /${ConfigurationHolder.config.password.regex}/; .

如果它不是一個選項,只需將\\1替換為\\2因為要檢查的數字組被移位並獲得一個新的 ID = 2, password.regex = /^(?!.*([0-9])\\2{2,})/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM