2012-02-14 52 views
1

是什麼正則表達式*和表達之間的差異.**的意思是 - 出現任意次數任意字符,以及.*含義發生的任何字符零次或多次。兩者基本上意味着相同。有人可以解釋一下這個區別嗎?*之間的差異*在正則表達式中的Java

+0

我之前並沒有意識到這一點,但現在,我已經回顧了以前的問題並接受了最相關的答案 – Gaurav 2012-02-16 05:54:26

回答

13

沒有,*量詞修飾的正則表達式的以前字符,組或字符類的意思。它本身是沒有意義的。它只在與正則表達式中的正則表達式結合時才帶有意義。

所以,.*意味着發生0次或多次任意字符,a*意味着a出現0次或更多次,並依此類推。

1

在正則表達式*本身並不意味着什麼。它修改了它前面的表達式。可能與通配符混淆,其中*與正則表達式中的.*意思相同。在正則表達式*本身或作爲表達式中的第一個字符是非法的。

0

ab*de將匹配adeabdeabbdeabbbdeabbbbde等。

ab.*de將匹配除ade以外的全部。

+0

第一條語句不正確,'ab * de'將匹配'abde'和'abbbbbde'但不是'abcde' – 2012-02-14 13:55:49

1

的含義是:「X,零次或多次」(見here)。 *只是量詞。

1

.表示任何字符。 *表示前面的字符(或組)0或更多次。所以.*意味着任何字符0或更多次。這就是它

相關問題