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

$とfirst /の間の文字列を取得したい場合、これは他の文字列に置き換えられます。正規表現 - クラスパスの場所を解析する

  1. 上記からJAR_REPOを単独で取得する正規表現とは何ですか?
  2. Regexを使用してパターンマッチ(任意のメソッド)のような実際の文字列を取得すると、文字列JAR_REPOが返されますか?

助けてください。

ありがとうございました。 ウェルズ

答えて

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

または、JavaのStringとして:

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

JAR_REPO文字列group(1)する:再帰的な解析手法の

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

0個以上の文字は必要ありませんが、1個以上の文字は必要ありませんか? \ $([^ /] +)また、彼はこれが常に行頭にあるとは言わなかったので、^で始まっていないのは良いアイデアです –

+0

あなたは正しいです。私は私の答えを編集します。 –

+0

ありがとうございます。実際それは常に初期です。したがって、それは^ –

0

このようなタイプは、インタプリタパターンを使用して解決することができます論理と構文解析のアプローチ。