2 回答

TA貢獻1853條經(jīng)驗 獲得超18個贊
第一個 [0-9]+\\d*$ 這個正則... 看著有點意思。
[0-9]+ 意思是 至少有一位 0-9 之間的數(shù)字,0123456789 任意一個都行,至少一位,不限制最多位數(shù)。
\\d 是被轉(zhuǎn)義過的,這個正則應(yīng)該是在程序內(nèi)被超下來的,在轉(zhuǎn)義回來應(yīng)該是 \d ,這就是我說的有意思的原因,因為 \d 代表的意思也是任意數(shù)字,但是 * 則代表,零位或多位。
$ 是結(jié)束符。
整個正則的意思就是說 前面有什么都無所謂,但是在字符串結(jié)尾前,至少要有一位數(shù)字的意思。
直接寫成 \d+$ 或者 [0-9]+$ 都可以。
abc1
123
1
以上三個字符串都滿足第一個正則表達(dá)式的要求。
\\b[A-Za-z]+\\b 這個我們先轉(zhuǎn)義回來,\\b 轉(zhuǎn)義為 \b 之后為 \b[A-Za-z]+\b
\b 的是字符分界符,代表的字符開頭或者結(jié)尾。[A-Za-z] 意思是 大寫或者小寫的所有英文字母。
加號剛才說了,是 匹配 一個或多個的意思,不太好解釋,下面的都滿足要求:
abc abc abc
hello ccc world
hel'lo ccc world
以上任意一組變成數(shù)字就不行了。
字符分界符不單單是空格,所有可作為單詞分界的,都為分界符。

TA貢獻1839條經(jīng)驗 獲得超15個贊
[0-9]+ 和\\d* 意思是 至少有一位 0-9 之間的數(shù)字,因為符號 +是表示至少有一位數(shù)字,而*表示有0個或者多個數(shù)字。所以規(guī)則組合在一起 就是至少有一位數(shù)字。
而$這個符號是表示以它前面的規(guī)則部分對應(yīng)的內(nèi)容結(jié)尾,也就是說 “[0-9]+\\d*$”的意思就是匹配至少一位數(shù)字結(jié)尾的片段。
\\b[A-Za-z]+\\b這個規(guī)則的意思 就是 因為在部分語言中 正則的表示方法需要轉(zhuǎn)義, 這里的\\b就是轉(zhuǎn)義的結(jié)果其意思就是單詞結(jié)束符。中間的部分是表示至少一個字母 無論大小寫。
- 2 回答
- 0 關(guān)注
- 1363 瀏覽
添加回答
舉報