我有点坚持这个。 我有一个像
这样的字符串18=abcd1, 19=jghrt23, 20=outut
我必须以这样的方式拆分给定的字符串,以便获得18,19,20的列表。
我能做的最好的事情是=(.*\w,)[^\D+=]
,但显然它不起作用,
注意:我可以通过首先使用“,”然后使用“=”来使用string.split轻松完成,但我想使用正则表达式以便我能够学习它。
我想使用Regex.Split
答案 0 :(得分:3)
我认为Split
不适合这项任务。
使用:
var result = Regex.Matches(input, @"\d+(?==)").Cast<Match>().Select(s => s.Value);
答案 1 :(得分:0)
AFAIK你不能用一个正则表达式做你想要的,或者至少你不能得到个别的团体。您可以使用两个步骤:
^(\d+=\w*),(.*)$
为此,您需要将剩余的字符串存储在某处以处理更多元素。^(\d+)=\w+$
从一个元素中提取数字并将其存储在某处。PS:我假设在 = 之后你只有字母数字字符。