繁体   English   中英

正则表达式提取包含数字的单词

[英]Regex to extract words that contain digits

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

例如: -

输入 - 3909B Witmer Road。 尼亚加拉瀑布。 纽约14305

输出 - 3909B和14305

使用这个正则表达式:

\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; 
}

你的意思是你想提取数字词:

var matches = Regex.Matches(input, @"\d\w*");

foreach (Match match in matches) {
    var numWord = match.Value;    // 3909B, etc.
}

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

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

所以这将匹配您想要的单词,加上它将匹配'abc123xyz'。 亲自尝试一下。

暂无
暂无

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

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