0

「abc.xyz」形式の段落から文字列を読み取る必要があります。私は正規表現に非常に慣れていないため、形式を読むのに苦労しています。データの例を取得するために誰か助けてください:

Calendar_year_lookup.Yr,Outlet_Lookup.Shop_name,Article_lookup.Category, Article_lookup.Sale_price, sum(Shop_facts.Quantity_sold)

出力:

 Calendar_year_lookup.Yr    
  Outlet_Lookup.Shop_name  
 Outlet_Lookup.Shop_name
Article_lookup.Sale_price
Shop_facts.Quantity_sold

コード:

 public static void main(String[] args)
    {
        // TODO Auto-generated method stub

        String  data="Calendar_year_lookup.Yr,Outlet_Lookup.Shop_name,Article_lookup.Category, Article_lookup.Sale_price, sum(Shop_facts.Quantity_sold)";

        //data.matches("\w\.\w");
        Pattern pattern = Pattern.compile("\\p{L}+[.]\\p{L}+");
        Matcher matchers=pattern.matcher(data);
        //System.out.println(matchers);
        if(matchers.find())
        {
        System.out.println(matchers.group(0));
        }

    }
4

3 に答える 3

0

あなたの正規表現は

\\w+[.]\\w+

+先行する文字またはグループに1回以上一致する量指定子です

.\\.またはとしてエスケープできます[.]

今あなたのコードは

while(m.find())
{
    m.group(0);//your value
}
于 2013-05-28T10:30:34.773 に答える
-2

以下はうまくいくかもしれません

[a-zA-Z].[a-zA-Z]
于 2013-05-28T10:24:55.703 に答える