❶ 正則表達式中這句話是什麼意思/^([a-z]|[A-Z])[\w_]{5,19}$/
表示以匹配字母開頭(不區分大小寫),隨後字元以字母、數字、下劃線組成,長度 6 到 20 位。
[a-z] 表示匹配 26 個小寫字母中的任意一個
[A-Z] 表示匹配 26 個大寫字母中的任意一個
| 豎線(准確點:管道符)表示「或」的意思
([a-z]|[A-Z])即 26 個大小寫字元中任意一個
\w 為正則中的轉義字元,表示匹配字母、數字、下劃線
_ 字元,沒有任何意義就是匹配下劃線(多餘的,因為 \w 已經包含了下劃線)
{5,19} 表示前面的字元(即:[\w_])必須至少出現 5 次最多出現 19 次。
^ ...(略)... $ 此處的 ^ 和 $ 為匹配限定符,表示必須匹配全部文本(即:從頭配到尾)。
/...(略).../ 在 javaScript 正則表達式用 / 號標注(僅 JS 支持),相當於字元串要用引號一樣。
PS: ^ 符號表示必須從文本開始處匹配,$ 表示必須匹配到文本結束為止。如果不加這個符號,可能只會匹配部分文本,而非全部文本。
例子如下:
文本:「baaab」
正則1:a+ (表示匹配一個或多個 a 字元)
正則2:^a+$ (同上,但多了限定符)
用正則1匹配測試成功,因為中間的 aaa 符合要求
用正則2匹配測試失敗,因為有 ^ $ 限制,必須文本開始處一直匹配到結束。
這個正則表達式寫的很羅嗦,我修改後的:/^[a-zA-z]\w{5,19}$/
注1:([a-z]|[A-Z]) 原作者意思匹配大小寫字母,沒必要用到捕獲組(即:括弧),完全可以這樣寫:[a-zA-Z]
注2:[\w_] 原作者意思匹配字母、數字、下劃線,其實 \w 就是:字母、數字、下劃線,沒必要再單獨指定下劃線了,因為就一個 \w 所以 [] 括弧也不需要了。
❷ 在java中 使用 "|" 表示什麼意思
作用和 || 一樣
不過
如 a | b
如果 a真,上述語句還要判斷b
a || b 就不會
如果a真,上述語句直接得出 a || b真