我一直在查看此处的示例以了解如何进行类似的正则表达式匹配,但我无法让它适用于我的情况。
我有一个类似 ThisisMystringItsTooLong
的字符串,我想返回 ThiMys
(前两次出现的大写字母后面跟着两个小写字母它)
但是,如果那里的字符串只是Thisismystring
(只有一个大写字母)那么我只想要
返回 Thi
。
我试过 ([A-Z]{1})([a-z]{2}){0,1}
只得到我的匹配项的第一次出现,如果有超过 2 个大写字母,但我不确定如何应用第二个条件。
最佳答案
你不能用正则表达式做到这一点,因为匹配总是输入的连续子串。您当然可以将多个匹配项组合成一个最终结果。
String.Join(String.Empty, Regex.Matches(input, "[A-Z][a-z]{2}")
.Cast<Match>()
.Take(2)
.Select(match => match.Value));
关于c# - 正则表达式匹配前两次出现的大写字母后跟几个小写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868815/