繁体   English   中英

正则表达式拆分:需要模式帮助

[英]Regex Split : Help in Pattern needed

我有点坚持。 我有一个像

18=abcd1, 19=jghrt23, 20=outut

我必须以给定的字符串拆分的方式来获取18,19,20的列表。

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

注意:我可以通过先使用string.split并先用“,”然后再使用“ =”来轻松实现,但是我想使用正则表达式以便能够学习它。 我想使用Regex.Split

我认为Split不适合此任务。

采用:

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

AFAIK,您无法使用一个正则表达式来完成您所要求的,或者至少您将无法获得单个组。 您可以使用2个步骤:

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

PS:我假设之后=您只有字母数字字符。

暂无
暂无

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

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