Regex拆分:需要模式帮助

本文关键字:模式 帮助 拆分 Regex | 更新日期: 2023-09-27 18:23:56

我有点拘泥于此。我有一个类似的字符串

18=abcd1, 19=jghrt23, 20=outut

我必须以这样一种方式分割给定的字符串,即得到18、19、20的列表。

我能做的最好的是=(.*'w,)[^'D+=],但显然它不起作用,

注意:我可以通过先使用string.split by",",然后使用"="来轻松完成,但我想使用regex,以便能够学习它。我想使用Regex.Split

Regex拆分:需要模式帮助

我认为Split不适合执行此任务。

用途:

var result = Regex.Matches(input, @"'d+(?==)").Cast<Match>().Select(s => s.Value);

AFAIK您不能用一个正则表达式来实现您的要求,或者至少您无法获得单个组。您可以使用两个步骤:

  1. 获取下一个逗号分隔的元素,例如使用regex ^('d+='w*),(.*)$。为此,您需要将剩余的字符串存储在某个位置以处理更多的元素
  2. 使用^('d+)='w+$从一个元素中提取数字,并将其存储在某个位置

附言:我假设=之后只有字母数字字符。