2016-03-25 5 views
-2

"LineNumber = 2、originalLine = 'ABC'、lineErrors = [特殊文字が見つかりました]」のような文字列がある場合は、Matcherとパターンを使用してjavaのパターンから文字列を抽出する

  • 「2」として、行番号、「ABC」のよう
  • originalLineと

私は正規表現に非常に新しいです「が見つかり特殊文字」のよう

  • エラーは、任意のポインタは非常に参考になります。私は過去のいくつかの質問を閲覧しましたが、私が望むものは得られませんでした。

  • +0

    これまでに試したことはありますか? –

    +0

    pattern = "解析エラーです。LineNumber =(\\ d +)、originalLine = '[\\ w]'、lineErrors = \\ [[\\ w] \\]」ですが、結果は表示されません。欲しいです。それが正しいかどうかわからない! –

    +0

    pattern = "解析エラー。"おそらく "エラーが発生しているはずです..."解析エラー "がサンプル文字列" Error。Line ... "にありません。 –

    答えて

    2

    キャプチャグループを使用して値をキャプチャできます。これはJavaのサンプルコードです。これは指定された文字列に対して機能しますが、それに応じてそれを調整して変更することができます。

    public class Main { 
    
    public static void main(String[] args) { 
    
        String s = "Error. LineNumber = 2, originalLine = 'ABC', lineErrors = [Special chars found]"; 
        String patternStr = "Error. LineNumber = ([\\S ]+), originalLine = ([\\S ]+), lineErrors = ([\\S ]+)"; 
        Pattern p = Pattern.compile(patternStr); 
        Matcher m = p.matcher(s); 
        if (m.find()) { 
         int count = m.groupCount(); 
         System.out.println("group count is " + count); 
         for (int i = 0; i < count; i++) { 
          System.out.println(m.group(i+1)); 
         } 
        } 
        } 
    } 
    
    関連する問題