std.regex.regex的返回值?
我正在尝试编写一个函数,它接受一个输入字符串、一个正则表达式(由std.regex.regex的返回值?,regex,d,phobos,Regex,D,Phobos,我正在尝试编写一个函数,它接受一个输入字符串、一个正则表达式(由std.regex.regex从一个rawstring生成)和一个错误消息字符串,并尝试使用正则表达式匹配输入字符串中的内容,如果没有匹配项,则显示错误消息。到目前为止,我的签名如下: string check_for_match (string input, Regex r, string error_message) 但是,正如编译器抱怨的那样,这似乎不起作用,它说: struct std.regex.Regex(Char)
std.regex.regex
从一个rawstring生成)和一个错误消息字符串,并尝试使用正则表达式匹配输入字符串中的内容,如果没有匹配项,则显示错误消息。到目前为止,我的签名如下:
string check_for_match (string input, Regex r, string error_message)
但是,正如编译器抱怨的那样,这似乎不起作用,它说:
struct std.regex.Regex(Char) is used as a type
那么我应该使用什么呢?如果您将
Regex
更改为Regex,它将被编译!字符
原因是Regex
是一个可以使用任何字符大小的模板:char
用于UTF-8模式,wchar
用于UTF-16,或dchar
用于UTF-32。编译器说您需要通过在此处传递所需的Char
参数来创建一个类型
由于您使用的是由char
s组成的string
,Regex!char
是要使用的类型
string check_for_match (string input, Regex!char r, string error_message) { return null; }