Regex提取包含数字的单词

本文关键字:单词 数字 包含 提取 Regex | 更新日期: 2023-09-27 18:21:32

我需要提取包含数字的单词。

例如:-

输入-威默路3909B号。尼亚加拉大瀑布。NY 14305

输出-3909B和14305

Regex提取包含数字的单词

使用此正则表达式:

'w*'d'w*

请参阅此处的操作:http://regexr.com?2vqui

基本表达式应该是:

  1. (?<=^|)(?=[^]*''d)[^]+

    • 或-
  2. (''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; 
}

这是我能想到的最简单的正则表达式,可以处理字母和数字混合的单词:

('w*'d['w'd]+)

所以这将匹配你想要的单词,加上它将匹配"abc123xyz"。你自己试试吧。

您的意思是要提取数字ey单词:

var matches = Regex.Matches(input, @"'d'w*");
foreach (Match match in matches) {
    var numWord = match.Value;    // 3909B, etc.
}