C#:取的多个药品批准文号中的一个

在C#中,如果想匹配一个字符串,比如"国药准字HJ20090910 国药准字HJ20090911",并找出其中所有以"国药准字"开头的部分,可以使用正则表达式(Regex)来实现这一功能。

方法1:使用正则表达式匹配所有以"国药准字"开头的子串

可以使用`Regex.Matches`方法来找到所有匹配的子串。这里是如何做的:

using System;

using System.Text.RegularExpressions;

class Program

{

static void Main()

{

string text = "国药准字HJ20090910 、国药准字HJ20090911";

string pattern = @"国药准字\w+"; // 使用\w+来匹配任何字母数字字符序列

MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches)

{

Console.WriteLine(match.Value);

}

}

}

方法2:使用正则表达式捕获组(如果只关心"国药准字"后面的内容)

如果想要捕获"国药准字"后面的特定内容,比如字母和数字组合,可以使用捕获组:

using System;

using System.Text.RegularExpressions;

class Program

{

static void Main()

{

string text = "国药准字Jsabc 国药准字jsbsc";

string pattern = @"国药准字(\w+)"; // 使用(\w+)来捕获字母数字字符序列

MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches)

{

Console.WriteLine(match.Groups1.Value); // 输出捕获组的内容

}

}

}

```

解释:

  • `@"..."` 是C#中的verbatim string literal,允许字符串跨多行且内部不需要转义字符。

  • `\w+` 匹配一个或多个字母数字字符(等同于a-zA-Z0-9_)。如果你想匹配中文和字母数字,可以使用`\\u4e00-\\u9fa5a-zA-Z0-9+`。

  • `MatchCollection` 是一个包含所有匹配项的集合。

  • `match.Groups1.Value` 用于获取第一个捕获组的内容,即"国药准字"后面的内容。

完整示例(包括中文字符和字母数字):

如果需要匹配包含中文字符和字母数字的组合,可以修改正则表达式如下:

string pattern = @"国药准字(\\u4e00-\\u9fa5a-zA-Z0-9+)"; // 匹配中文字符和字母数字的组合

这样,无论后面的字符是中文字符还是字母数字,都能被正确匹配。

相关推荐
淡海水6 小时前
08-03-不可变-ImmutableDictionary-TKey-TValue-与ImmutableHashSet-T-持久化哈希树
数据结构·算法·c#·哈希算法·dictionary·immutable
典典分享指南8 小时前
一品牌多产品线的 GEO 内容矩阵:从策略到落地
java·c#·bash·symfony
今夜有雨.9 小时前
C# 学习文档(零基础入门)
开发语言·学习·c#
软件黑马王子9 小时前
14.事件中心:主要作用和原理
开发语言·前端框架·c#
海盗123414 小时前
微软技术周报 2026-08-31~09-07:GPT-6 Astra 登陆 Foundry、M365 全球认证故障复盘、C# 15 封闭层级
gpt·microsoft·c#
reasonsummer15 小时前
【办公类-115-01】20260906育儿知识(家园小报)批量制作(2026年9月-2027年6月)
开发语言·数据库·c#
软件黑马王子16 小时前
13.缓存池优化:对象上限配置
开发语言·前端框架·c#
唐青枫16 小时前
C#.NET StructureMap 从依赖注入到项目实战
c#·.net
fujisheng66117 小时前
FUI 编译期装配实践:从反射注册到 Source Generator
c#·unity3d
智码看视界17 小时前
.NET 10 推理大模型TensorSharp 3.3.0 部署实测:纯.NET推理引擎反超llama.cpp 1.5倍,DFlash2提速62%
c#·.net·llama.cpp·.net 10·tensorsharp·本地大模型推理·开源推理引擎