简体   繁体   English

正则表达式提取字母的首次出现

[英]Regex to extract the first occurence of a letter

I need a regex that will return the q in this string: 我需要一个正则表达式,它将在此字符串中返回q

131531 q32135 1aaa31cffv;fvVfsda23213543132HHH 131531 q32135 1aaa31cffv; fvVfsda23213543132HHH

string somestring = "12 3654th v6 54 68 sdfsdf";
string pattern = @"(^[0-9])*([a-z])";
string letter = Regex.Match(somestring, pattern).ToString();
string firstletter = letter.Substring(0,letter.Length);
Console.WriteLine("First Letter: " + firstletter);

我觉得这很简单:

/[a-z]/i

尝试使用以下正则表达式:

/^.*?([a-zA-Z])/

So, I am not sure why your regex is working. 因此,我不确定您的正则表达式为何有效。 The substring part is also unnecessary, because in letter you only have the letter "t". substring部分也是不必要的,因为letter只有字母“ t”。

So try this (as Roderick already suggested (already upvoted)), because Match is automatically returning the first match 因此,请尝试此操作(如Roderick所建议的(已经投票)),因为Match会自动返回第一个匹配项

string somestring = "12 3a654th v6 54 68 sdfsdf";
string pattern = @"[a-z]";

string letter = Regex.Match(somestring, pattern).ToString();

Console.WriteLine("Letter: " + letter);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM