1樓:那拉德皮鸞
先說通俗的結論:匹配數。非負數,整數和小數都可以,比如123、12.56這樣的
\d 是匹配一個數字(0到9)
\\d前面多了第一個\
是為了在程式中轉義第二個\,這個你可以忽略+表示1個或多個
組合起來
\\d+
就表示多個數字,形如
12、44、6763……
\\.匹配一個小數點
\\d+\\.\\d+
就表示小數,形如12.334、0.12、87.343……|表示或者,一個豎線就夠了
()括號在這裡表示分組,實際不匹配任何字元,此處不要括號也可以總結\\d+||(\\d+\\.\\d+)多個連續的數字或者
多個連續的數+小數點+多個連續的數
翻譯下就是
非負整數或者非負小數
2樓:茆晚竹藏風
這個表示式看起來有問題,估計你的意思是
string
s="\\d+(\\.\\d+)?";
所以system.out.print(s);得到的是\d+(\.\d+)?,
首先說\d+(\.\d+)?
左邊\d匹配一個數字後面的加號意思是說明前面這個\d的數字為1到多個,然後括號裡面的\.匹配'.'這個字元(由於.
在正則裡面表示一個字元,所以加上\轉義才能表示'.'這個字元),然後的'\d+'和左邊的一樣,匹配多個數字,最後將'\.\d+'加上括號再加'?
'表示小數點和多個數字可以有或沒有(?表示0到1,是修飾前面的括號中內容的),所以總結下,整個表示式匹配一個正常的數字,當有小數點時,必須後面有數字,例如
'1'滿足
'2.3'滿足
但是'1.'就不滿足了
正規表示式s s是什麼意思,正規表示式 s S 是什麼意思?
s s 表示匹配任意字元,且只匹配一次,即懶惰匹配 如果是 s s 沒有帶?號,也表示匹配任意字元,但允許匹配任意次,即貪婪匹配。 灰機 小佑 這個正規表示式是用來匹配空格符的,用來檢查你的文字里面的空格 追問 只是匹配空格嗎?像如果是 s s 與 s s 匹配的字元結果是否一樣?就是想問下小括號的...
正規表示式中s s什麼意思不是,正規表示式中, s S 什麼意思。。。。“ ”不是範圍描述符嗎?
s s 是完全通配的意思 是範圍描述符。s是指空白,包括空格 換行 tab縮排等所有的空白,而 s剛好相反,這樣一正一反下來,就表示所有的字元,完全的,一字不漏的。另外,這個符號,表示在它裡面包含的單個字元不限順序的出現,比如 ace 這表示,只要出現a c e這三個任意的字母,都會被匹配 s 表示...
正規表示式中a z什麼意思
意思是斷言,只匹配乙個位置。例如 想匹配乙個 人 字,但是只想匹配中國人的人字,不想匹配法國人的人,就可以用一下表示式 中國 人 所以,樓主的表示式與其他萬用字元連用才能起到效果。a z d 這個就表示 匹配以 任意字元連著乙個小寫字母 開頭的數字,只匹配數字。exp 這個是放後面的。 這個叫斷言,...