3

次のテキストを検討してください。

  String tempStr =
            "$#<div style=\"text-align:left;\">$#Order-CAS No#$</div>$#abc#$";

    Pattern p = Pattern.compile("(?<=\\$#)(\\w*)(?=#\\$)");
    Matcher m = p.matcher(tempStr);

    List<String> tokens = new ArrayList<String>();
    while (m.find()) {
        System.out.println("Found a " + m.group() + ".");

しかし、それは私にabcだけを与えます..私はOrder-CASNoとabcとして答えたいです.

4

2 に答える 2

4

\\w*がハイフンまたはスペースと一致しません。[\\w\\s-]*代わりに試してください。

Pattern p = Pattern.compile("(?<=\\$#)([\\w\\s-]*)(?=#\\$)");

文字クラスの詳細については、次を参照してください。

于 2012-10-29T09:17:01.187 に答える
0

最後に解決策を得ました。

Pattern p = Pattern.compile("(?<=\\$#)([\\w-\\s\\w]*)(?=#\\$)");
于 2012-10-29T09:31:46.400 に答える