正则表达式模式 - 如何从一行中提取 N 元素?

RegEx Pattern - how to extract the N element from a line?

我尝试创建一个模式来从一行中提取一些值,但没有成功。可以请你帮忙吗?

我想从这样的一行中提取值(只是一个简单的例子):

502,42 421,421.421 421421,421.55 551
[0-9,.]+ 

问题是我想将每个值分配给不同的变量。

我应该怎么做?

由于您使用 UiPath 对其进行了标记,因此这是一种方法。创建一个变量来保存您的正则表达式,并为每个匹配创建最多 n 个变量。添加一个 Invoke Code activity。将输入和输出参数映射到您的变量(在我的例子中,有一个输入 - 正则表达式和两个输出)。

根据需要更改代码。该模式可能成为另一个输入参数。

Dim matches As MatchCollection = Regex.Matches(in_RegEx, "\d")
out_part0 = matches(0).Value
out_part1 = matches(1).Value

假设您提供 1 2 3 4 作为输入,\d 作为模式,part0 == 1part1 == 2

很高兴看到您的意见,感谢您在这方面的配合。我还为 "problem":

找到了解决方案
  • 阅读 PDF 文本(或其他来源...)
  • 匹配 activity - 符合模式
  • 分配 activity(根据需要分配 - 对我来说,变量类型是 Double)= Double.Parse((Matches(0).Groups(2).value).ToString.Replace(".","").替换(",",".").Trim)
  • 写一行(只是为了检查结果)

如果您创建一个模式,唯一应该改变的是 Assign activity.[=10 中的 .Groups(N) 的数量=]

海王星