任務是排除包含: 的值。該值還必須包含至少 1 個單詞字符。
匹配的字串值是:
' h-73 \r\n\t'
' hey'
'hi '
'7'
不匹配的值是:
' \r\n\t' // neither letter not digit
' ' // neither letter not digit
' sds: \r\n\t' // :
排除:我會/^[^:] $/用來過濾我會使用的單詞字符/\w /。
我不知道如何在同一個正則運算式中一起使用它們,因為每個條件的范圍都應該是整個字串。
uj5u.com熱心網友回復:
符合您的規范的正則運算式是
/^[^\w:]*\w[^:]*$/
詳情:
^- 字串的開始[^\w:]*- 除 word 和:chars之外的零個或多個字符\w- 一個字字符[^:]*- 除冒號外的任何字符,出現零次或多次$- 字串的結尾。
JavaScript 演示:
const texts = [' h-73 \r\n\t',' hey','hi ','7',' \r\n\t',' ',' sds: \r\n\t'];
const re = /^[^\w:]*\w[^:]*$/;
for (const text of texts) {
console.log("'" text "'", '=>', re.test(text));
}
注意:您也可以使用/^[^:]*\w[^:]*$/,但此正則運算式會盡可能多地從字串的開頭抓取非冒號,然后回溯以查找單詞 char,這樣效率較低。因此,\w第一個否定字符類中的 是受歡迎的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/372388.html
標籤:javascript 正则表达式 打字稿
