C# 将正则表达式字符与函数调用匹配

C# 将正则表达式字符与函数调用匹配,c#,regex,pushdown-automaton,C#,Regex,Pushdown Automaton,我在C工作# 我希望能够在正则表达式语言中对特定字符调用函数,我想知道这是否可行。例如,如果我的模式为^[0-9]*$,我希望在找到7时调用函数foo()。因此,如果我有字符串“0129384927377”,它将调用函数foo三次 有办法吗 如果您需要上下文,我正在尝试尽可能简单地构建一个DPDA(确定性下推自动机),但不确定最好的方法。如下所示: Regex.Matches("0129384927377","7").Count 像这样: Regex.Matches("012938492737

我在C工作#

我希望能够在正则表达式语言中对特定字符调用函数,我想知道这是否可行。例如,如果我的模式为
^[0-9]*$
,我希望在找到7时调用函数
foo()。因此,如果我有字符串“0129384927377”
,它将调用函数
foo
三次

有办法吗

如果您需要上下文,我正在尝试尽可能简单地构建一个DPDA(确定性下推自动机),但不确定最好的方法。

如下所示:

Regex.Matches("0129384927377","7").Count
像这样:

Regex.Matches("0129384927377","7").Count

看起来非常类似。你的正则表达式本身是错误的。它应该是你正在寻找的。所以它应该是
7
看起来非常类似。你的正则表达式本身是错误的。它应该是你正在寻找的。所以它应该是
7
,然后可以使用for循环来调用
foo()
“count”次数。对于一行程序:
regex.Matches(“0129384927377”,“7”).Cast().ToList().ForEach(=>foo())
然后可以使用for循环调用
foo()
“count”次。对于OneLiner:
Regex.Matches(“0129384927377”,“7”).Cast().ToList().ForEach(=>foo())