我需要提取包含数字的单词。
例如:
输入 - 3909B Witmer Road. Niagara Falls. NY 14305
输出 - 3909B 和 14305
基本表达式应为:
(?<=^| )(?=[^ ]*\d)[^ ]+
(\w*\d[\w\d]+)
在C#中使用它:
var matches = Regex.Matches(input, @"(\w*\d[\w\d]+)");
foreach (Match match in matches){
var word = match.Value;
}
...
var matches = Regex.Matches(input, @"(?<=^| )(?=[^ ]*\d)[^ ]+");
foreach (Match match in matches){
var word = match.Value;
}
你的意思是想提取数字相关的单词吗:
var matches = Regex.Matches(input, @"\d\w*");
foreach (Match match in matches) {
var numWord = match.Value; // 3909B, etc.
}
+
改成 *
,否则你将无法匹配单个数字 ;-) - Cameron\w*\d\w*
。 - Joseph Silber\w
也匹配数字了 :-) - Cameron