1

正規表現を使用して文字列の特定の部分を一致させる必要があり、それを理解しようとしてひどい時間を過ごしています。問題の文字列は常に次のようになります。

CN=Last.First.M.1234567890, OU=OrganizationalUnit, O=Organization, C=CountryName

結果の文字列は次のようCN=1234567890,になりますので、文字列の最初の部分を まで取得し、その部分を取り除く必要があり,ますLast.First.M.。これはできますか?

注: この正規表現を触れることができない関数に渡しているため、文字列を分割したり、数字だけを取得して追加したりするなどの簡単な方法は使用できませんCN=

ありがとう。

4

3 に答える 3

1

これは、正規表現をいじるのが面倒なときに私がすることです。

String[] myStrings = "CN=Last.First.M.1234567890, OU=OrganizationalUnit, O=Organization, C=CountryName"
    .split(",");
// myStrings [0] now contains CN=Last.First.M.1234567890

myStrings[0] = myStrings[0].replace("Last.First.M.", "");
// now we replaced the stuff we didnt want with nothing and myStrings[0]
// is looking pretty nice. This is a lot more readable but probably
// performs worse. For even more readable code assign to variables rather then to modify myStrings[0]
于 2013-02-06T21:26:22.867 に答える
1

さらに掘り下げた後、ここで探しているものに対する答えを見つけたと思います。

キャプチャ グループの文字をスキップする正規表現

ここでのすべての回答は素晴らしいものでしたが、私が取り組んでいたものには当てはまりませんでした。今、私はこれを解決する別の方法に取り組んでいます。ご協力ありがとうございます。

于 2013-02-06T23:54:54.703 に答える
0

正規表現([A-Z]{2})=(?:\w+\.)+(\d+),を使用すると、必要な部分を取得できます。

于 2013-02-06T21:24:53.737 に答える