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 回答