下面是一些输入示例:
-
UIHint ==> UI + 提示
-
RSSReader ==> RSS + Reader
-
IP地址==>IP +地址
我做了这样的东西
([A-Z]+)(([A-Z])([a-z]+))
static void Main(string[] args)
{
string input = "IPAddress";
var result = Regex.Matches(input, "([A-Z]+)(([A-Z])([a-z]+))");
foreach (Match match in result)
{
foreach (var item in match.Groups)
{
Console.WriteLine(item);
}
}
}
这是输出:
IPAddress
IP
Address
A
ddress
但是通过使用它,比赛组还包含"A"和"dress",用于"IPAddress",例如我不想要它们。
我只想要匹配组中的主输入(IPAddress),"地址"和"IP"。
那么我应该如何更改正则表达式模式呢?
怎么样
([A-Z]+)([A-Z]w*)
在这里查看 regex101.
它将为您提供两个捕获组中的两个部分。
编辑:修复了Adress
的错误匹配。