C# 将正则表达式字符与函数调用匹配
我在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
^[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())