Haskell 使用正则表达式捕获组名

Haskell 使用正则表达式捕获组名,haskell,Haskell,我试图使用正则表达式包(带有TDFA),我能找到的命名捕获组的唯一参考是一个准引号(cp),没有任何解释。 基本上,我在配置文件中有regex,在运行时用compileregx编译,应用于行,我希望从中提取一些特定的捕获组,这些捕获组的名称在编译时我确实知道 因此,我正在寻找一个函数,该函数将采用匹配a,一个字符串(捕获组名称),并根据捕获组是否匹配返回a或a?或者仅仅是一种从匹配a中提取捕获组名称的方法就足够了 文档提到了准引号cp,但没有解释它应该如何使用,我甚至不确定我是否可以使用,如果我

我试图使用正则表达式包(带有TDFA),我能找到的命名捕获组的唯一参考是一个准引号(cp),没有任何解释。 基本上,我在配置文件中有regex,在运行时用compileregx编译,应用于行,我希望从中提取一些特定的捕获组,这些捕获组的名称在编译时我确实知道

因此,我正在寻找一个函数,该函数将采用
匹配a
,一个字符串(捕获组名称),并根据捕获组是否匹配返回a
或a
?或者仅仅是一种从
匹配a
中提取捕获组名称的方法就足够了

文档提到了准引号cp,但没有解释它应该如何使用,我甚至不确定我是否可以使用,如果我知道的话,因为我在运行时编译了我的正则表达式

有人会有命名捕获组的例子吗?
谢谢

您将在文档中找到所需的API;我认为名称以
capture
开头的函数之一就是您要寻找的函数。下面是一个例子:

modulemain其中
导入数据.Text
导入Text.RE.Replace
导入Text.RE.TDFA.String
针头:CaptureID
针=IsCaptureName。CaptureName。每包$“针”
main::IO()
main=do

是啊!我没想到要找一个替代品,这是个奇怪的地方。非常感谢,效果非常好:)