0

私は正規表現があまり得意ではないので、ここで助けが必要です。

文字化けした長い文字列 (特殊文字と英数字) があります。ただし、途中のどこかに、次のようなスラッシュで区切られた2つの単語セットがある場所に興味のあるチャンクがあります。

$234207YELLOW/GREEN$M4/ZlAVadvae1bUAoIfaEbeAZ4HdBHr2ftv+3tIo+yw==

そして、私は全体の黄/緑の部分に興味があります。興味のある部分は文字列のどこにでもある可能性があるため、インデックスに頼ることはできません:(

これを取得するために Java コードで使用できる正規表現を見つけるのを手伝ってもらえますか?

ありがとう。

4

3 に答える 3

3

それがあなたが望むものかどうかは100%わかりませんが、で区切られた単語を見つける必要があるように見える/ので、これが少し役立つかもしれません

String s="$234207YELLOW/GREEN$M4/ZlAVadvae1bUAoIfaEbEAZ4HdBHr2ftv+3tIo+yw==";
Pattern p=Pattern.compile("[a-zA-Z]+/[a-zA-Z]+");
Matcher m=p.matcher(s);
if(m.find())
    System.out.println(m.group());

出力:YELLOW/GREEN

于 2012-07-05T19:26:13.597 に答える
1

単語を単なる文字として話している場合 (大文字と小文字に関係なく)、@TimK または @Pshemo が提案したものを使用できます。
"[a-zA-Z]+/[a-zA-Z]+"

ただし、単語がすべて大文字の場合は、もっと単純化して
"[A-Z]+/[A-Z]+"

または、使用できる既知の単語のリストがある場合
"(RED|YELLOW|ORANGE|GREEN|BLUE|PURPLE)/(RED|YELLOW|ORANGE|GREEN|BLUE|PURPLE)"

正規表現http://www.regular-expressions.info/reference.htmlで作業するとき、私はこのチートシートをよく使用する傾向があります

于 2012-07-05T19:37:14.393 に答える
1

「単語」の意味に応じて:

[a-zA-Z]+/[a-zA-Z]+
于 2012-07-05T19:25:05.770 に答える