如何用正则表达式匹配多个项目
本文关键字:项目 何用 正则表达式 | 更新日期: 2023-09-27 18:13:03
我有以下模式{(.*?)}
,它只匹配一个项目。
如何匹配c#中的多个项目
akjsd{OrderNumber} aksjd {PatientName} akjak sdj askdj{patient姓氏}askdjh askdj {PatientNumber} aksjd aksjd aksjd aksjd kajsdkasjd
获取类似
的列表{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();
}