^(\\S+) (.*)$
簡單說就是「Group1空格Group2」
(\\S+) 是 Group 1 \S \SS \SSS \SSSS 都符合(S最少一個,最多N個,一定要大寫)
(.*) 是 Group 2 從「0個字元」到「N個字元」都符合
總結
符合的例子如下
\S (共3個字元,最後面是一個空白)
\SS (共4個字元,最後面是一個空白)
\SSS (共5個字元,最後面是一個空白)
\S 1(共4個字元)
\SS AB(共6個字元)
謝謝講解
所以matcher.group會是(0)~(2)囉
那假如我要(0)~(3)
Pattern.compile後面是^(. * ) (. * ) (. * )$然後也可以全搜索嗎?
抱歉,我看不懂(0)~(2)和(0)~(3)
不過我想 Regular Expression 可以做到你想做的
只要你清楚你自己要什麼
恩,我大概了解了,畢竟完全沒學過透過範例還是有些真的不懂,不過你的解釋很有用,非常感謝你。
Regular Expression 線上練習及解說
這網站可以即時測試你的 RE 正確性
並且針對每個部份做解釋
我的解釋就是抄那裡的...
好,我好好研究一下,點進去有點傻眼,甚麼都看不懂,哈哈,應該會用之後就會感覺很方便了
這網站太厲害了,太感謝你了~
這麼巧前幾天才寫正則……
以這段來講:
^(\\S+) (.*)$
^
代表一行的開頭,(\\S+)
沒在 Shell 寫過,不確定是什麼。後面空白可能是空白或是分隔符號,後面的 .*
代表任意字元不限制數量(也可以沒有內容), $
表示一行的結尾。
大致上我會猜是一行開頭要有 \\S
代表的符號,剩下相關資料應該很多,就不廢話了。