我正在嘗試制作一個只接受的正則運算式:
最少 100 個且至少 1000 個字符,字符“,',<,> 不允許,兩個句號一個接一個是不允許的。
這就是我現在所擁有的:
^.{100,1000}$→ 100 到 1000 個字符^[^"'<>]*$→ 對于不允許的字符^([^._]|[.](?=[^.]|$)|_(?=[^_]|$))*$→ 不允許 2 個連續的點
如何將此正則運算式組合成一個?._.
uj5u.com熱心網友回復:
這部分[^._]表示沒有點或下劃線,并且這部分[.](?=[^.]|$)|_(?=[^_]|$)匹配 a.或_后跟字串的相反或結尾。
您可以使用單個否定前瞻斷言來撰寫模式,不包括__或..
^(?!.*([._])\1)[^"'<>\n]{100,1000}$
解釋
^字串的開始(?!負前瞻,斷言右邊的不是.*([._])\1捕獲.or_并在其后匹配相同的捕獲字符(意味著不出現..or__)
)關閉前瞻[^"'<>\n]{100,1000}匹配除所列字符外的任何字符 100-1000 次$字串結束
正則運算式演示(將量詞設定{10,100}為演示)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/481393.html
標籤:javascript 正则表达式
