我是這個論壇的新手,希望有人能支持我。
我需要創建一個 RegEx 模式,它允許 1 到 25 個字母或空格,但不允許 EMP、NDB、POI 或 CWR 值之一。
我使用負前瞻嘗試了以下操作:
((?!EMP|NDB|POI|CWR)[A-Za-z\s]{1,25})$
但是這不能正常作業,該值(如 EMP)仍然被接受 - 請參閱https://regex101.com/r/YfflBi/1
只有當我只有字母(沒有空格)并且限制為 3 時,這才可以正常作業:
((?!EMP|NDB|POI|CWR)[A-Za-z]{3})$
(見https://regex101.com/r/SzmuwP/1)
然而,這里的挑戰是我需要接受 1 到 25 個字母或空格,但不是我提到的三個字母值之一。
非常感謝每個想解決方案的人!
uj5u.com熱心網友回復:
您可以使用
^(?:(?!EMP|NDB|POI|CWR)[A-Za-z\s]){1,25}$
請參閱正則運算式演示。詳情:
^- 字串的開始(?:- 非捕獲組的開始:(?!EMP|NDB|POI|CWR)[A-Za-z\s]- 不是負前瞻中定義的字符序列的起始字符的字母或空格
){1,25}- 重復非捕獲組內的模式序列 1 到 25 次$- 字串的結尾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316123.html
上一篇:IE11中的JS否定回顧
