2012-02-15 101 views
0
$JAR_REPO/nlb/grbox/smnt.jar 

我想獲取$和first /之間的字符串,並將其替換爲其他字符串。正則表達式 - 解析類路徑位置

  1. 什麼是從上面單獨獲取JAR_REPO的正則表達式?
  2. 我可以使用正則表達式來獲取像模式匹配(任何方法)的實際字符串將返回字符串JAR_REPO嗎?

請幫忙。

謝謝。 韋爾斯

回答

2
\$([^/]+)/.* 

,或者作爲Java字符串:

"\\$([^/]+)/.*" 

的JAR_REPO字符串將是group(1)

Pattern pattern = Pattern.compile("\\$([^/]+)/.*"); 
Matcher matcher = pattern.matcher(yourstring); 
if (matcher.find()) { 
    String jarRepo = matcher.group(1); 
} 
+2

可能不想要0個或更多的字符,但可能是一個或多個? \ $([^ /] +)他也沒有說,這將始終在行的開頭,所以也許不是以^開始是一個好主意 – 2012-02-15 18:20:45

+0

你是對的。我會編輯我的答案。 – 2012-02-15 18:30:47

+0

謝謝。其實它始終是最初的。所以它必須以^ – 2012-02-15 18:38:49

0

遞歸解析方法的這種類型可以解決利用解釋器模式邏輯和解析方法。