如何使用C#正则表达式获取小写和大写字母?

问题描述 投票:0回答:1

如何使用C#正则表达式获取小写和大写字母?

我的代码

string inputText = "afaUTE123567645gfhdDSFSD21312ASDFSAF21312sdafASasdfDF213asefd";
string pattern = @"(?'AlphabetLower'[a-z]+)|(?'AlphabetUpper'[A-Z]+)|(?'Alphabet'[a-zA-Z]+)|(?'Number'[0-9]+)";
var matches = Regex.Matches(inputText, pattern).Cast<Match>().OrderBy(s => s.Index);

我的输出不起作用。 我想要输出: enter image description here

*ps : 将来我还想添加希腊字母(小写、大写和混合)

c# regex design-patterns
1个回答
0
投票

看起来您可能想将所有字母选项组合在一起,与数字部分分开。像这样的东西:

(?'AnyAlphabet'(?'AlphabetLower'[a-z]+)|(?'AlphabetUpper'[A-Z]+)|(?'Alphabet'[a-zA-Z]+))+|(?'Number'[0-9]+)

但是根据您的实际用例,您可能可以稍微简化这一点,或者使用像 Sprache 这样的解析库。

© www.soinside.com 2019 - 2024. All rights reserved.