如何使用regex.match在c#中提取字符串的特定部分?

时间:2019-04-19 15:28:29

标签: c# regex

尽管这可能是重复的,但在阅读了类似的问题后,我却无法进行这项工作。在这项作业中寻求帮助,我是编程的新手。

我正在开发df2 data firsta 1 firstb 2 firstc 3 firstd 4 seconda 5 secondb 6 secondc 7 secondd 8 secondee 9 df2 %>% rownames_to_column('row') %>% mutate(num = str_extract(row, 'first|second'), id = str_match(row, '(?<=first|second)[a-z]+')) %>% select(-row) %>% spread(num, data) id first second 1 a 1 5 2 b 2 6 3 c 3 7 4 d 4 8 5 ee NA 9 中的程序。我有一个文本,例如包含以下句子:“我的作业版本V0.90来自”。我需要提取“ V0.90”,它的范围可能在V0.90到V2.00之间。它始终被C#"My homework version "包围,我需要提取两者之间的所有内容。这是我尝试过的:

" from"

但是我在string RetRegMatch; Match Match1 = Regex.Match(Friends[a], @"My homework version (.+) from", RegexOptions.IgnoreCase); RetRegMatch = Match1.Value; 中的结果是:Match1.Value,我只希望"My homework version V0.90 from"部分在(+.)中。也就是说,我希望在Match1.Value中包含以下内容:Match1.Value。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要的部分应该在捕获组中(放在()之间的部分)。尝试使用

访问它
Match1.Groups[1].Value