C# 如何使用正则表达式匹配多个项目
我有下面的模式C# 如何使用正则表达式匹配多个项目,c#,regex,C#,Regex,我有下面的模式{(.*)},它只匹配1项 如何从本文中匹配C#中的多个项目 akjsd{OrderNumber}aksjd{PatientName}aksjak sdj askdj {PatientSurname}askdjh askdj{patientsnumber}aksjd aksjd aksjd kajsd 卡斯德 获得列表 {OrderNumber} {PatientName} {PatientSurname} {PatientNumber} 谢谢大家! 大概是这样的吧 string
{(.*)}
,它只匹配1项
如何从本文中匹配C#中的多个项目
akjsd{OrderNumber}aksjd{PatientName}aksjak sdj askdj
{PatientSurname}askdjh askdj{patientsnumber}aksjd aksjd aksjd kajsd
卡斯德
获得列表
{OrderNumber}
{PatientName}
{PatientSurname}
{PatientNumber}
谢谢大家! 大概是这样的吧
string input = "akjsd{OrderNumber} aksjd {PatientName} aksjak sdj askdj {PatientSurname} askdjh askdj {PatientNumber} aksjd aksjd aksjd kajsd kasjd";
MatchCollection matches = Regex.Matches(input, "{(.*?)}");
foreach(Match match in matches)
{
Console.WriteLine(match.Value);
}
使用此正则表达式
{[^}]*}
(更有效,因为*?
在每一步都回溯),并按如下方式执行:
var resultList = new StringCollection();
var myRegex = new Regex("{[^}]*}", RegexOptions.Multiline);
Match matchResult = myRegex.Match(yourString);
while (matchResult.Success) {
resultList.Add(matchResult.Value);
Console.WriteLine(matchResult.Value);
matchResult = matchResult.NextMatch();
}
这很有效,看@AvinashRaj哦!这里不行,谢谢!!!这里有一个类似问题的先前答案:@ClarkKent-see@AvinashRaj-Oh!我得到了它。我没有使用
/g
非常感谢!