2013-02-20 52 views
0

我寫在日誌文件中找到的Java類OCCURENCES數的節目正則表達式。絃樂*的.java

我要計算不同時間的Java類撥打的號碼。 搜索的形式應爲「*的.java」

誰能幫我這個正則表達式?

回答

0

足夠的正則表達式可能會看起來像[a-zA-Z_][a-zA-Z_0-9]*\\.java。此正則表達式要求字符串以字母(或下劃線)開頭,並且繼續使用Java類名稱約定的任意數量的字母或數字(或下劃線)。該期雙逃脫\\ - 一個轉義是讓Java將難逃\的字符串,第二個是爲了讓正則表達式匹配將難逃期間(否則期是一個特殊字符,意思是「任何字符」) 。

這個正則表達式比你要求的任務要精確得多:.*\\.java(這是.java前面有任何內容),因爲這會匹配「.java」之前的整行,讓你離開你與「類名」,如「從MyClass.java打印文件」而不是「MyClass.java」。

我想嘗試這種表達出來(和嘗試改變它)像Rubular一個在線工具。

+0

不工作。一個例子String是這樣的 - 在com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1473)。我希望它承認有一個java類的ThreadPool.java,它只出現一次。計數仍然返回爲0 – 2013-02-20 08:19:04

+0

正則表達式基本正確(請檢查提供的Rubular鏈接)。很可能您使用正則表達式的方式並不完全符合您的想法,因此我必須知道周圍的代碼才能獲得更多幫助。 – user2089674 2013-02-20 08:28:08

+0

公共靜態最後絃樂EXAMPLE_TEST = 「在com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1473)」; 的System.out.println(EXAMPLE_TEST.matches( 「\\([A-ZA-Z _] [A-ZA-Z_0-9 $] * \\的java。」)); – 2013-02-20 08:42:31