iT邦幫忙

0

java的正則式

seeyounow 4 月前2968 瀏覽

目前正在寫搜尋相關的語法,查過網路介紹的正則還是不太懂,沒辦法改成自己要的方式,想請問下面這段是甚麼意思呢?
Pattern.compile("^(\\\S+) (.*)$")

窮嘶發發發 iT邦高手 1 級 ‧ 4 月前 檢舉
網路上不是很多說明嗎? 找一下就一堆資料了 @@
3
海綿寶寶
iT邦超人 1 級 ‧ 4 月前
最佳解答
^(\\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個字元)
看更多先前的回應...收起先前的回應...
seeyounow iT邦新手 5 級 ‧ 4 月前 檢舉

謝謝講解
所以matcher.group會是(0)~(2)囉
那假如我要(0)~(3)
Pattern.compile後面是^(. * ) (. * ) (. * )$然後也可以全搜索嗎?

海綿寶寶 iT邦超人 1 級 ‧ 4 月前 檢舉

抱歉,我看不懂(0)~(2)和(0)~(3)
不過我想 Regular Expression 可以做到你想做的
只要你清楚你自己要什麼

seeyounow iT邦新手 5 級 ‧ 4 月前 檢舉

恩,我大概了解了,畢竟完全沒學過透過範例還是有些真的不懂,不過你的解釋很有用,非常感謝你。

海綿寶寶 iT邦超人 1 級 ‧ 4 月前 檢舉

Regular Expression 線上練習及解說
這網站可以即時測試你的 RE 正確性
並且針對每個部份做解釋
我的解釋就是抄那裡的...

seeyounow iT邦新手 5 級 ‧ 4 月前 檢舉

好,我好好研究一下,點進去有點傻眼,甚麼都看不懂,哈哈,應該會用之後就會感覺很方便了

seeyounow iT邦新手 5 級 ‧ 4 月前 檢舉

這網站太厲害了,太感謝你了~

1
WilliamHuang
iT邦大師 1 級 ‧ 4 月前

建議花錢去上課吧
小小建議

0
dd-han
iT邦新手 5 級 ‧ 4 月前

這麼巧前幾天才寫正則……

以這段來講:

^(\\S+) (.*)$

^ 代表一行的開頭,(\\S+) 沒在 Shell 寫過,不確定是什麼。後面空白可能是空白或是分隔符號,後面的 .* 代表任意字元不限制數量(也可以沒有內容), $ 表示一行的結尾。

大致上我會猜是一行開頭要有 \\S 代表的符號,剩下相關資料應該很多,就不廢話了。

我要發表回答

立即登入回答