URLを一致させるのに問題があります
sregex rex = sregex::compile("(?:ftp|http|https)+://([\\S\^<\^>]+)", sregex::icase );
これはすべてのURLに一致しますが、各一致の最後に>>が含まれているため、否定しようとしています。私は何が間違っているのですか?
私はあなたが望むものはこれだと信じています:
sregex rex = sregex::compile("(?:ftp|http|https)://([\\S]+[^<>]*)", sregex::icase );
がセットの最初の文字である場合、文字^
は「ない」を意味するだけです。^
したがって、^
in[\\S\^<\^>]+
は「ない」という意味ではありません。^
がセットの最初の文字でない場合は、ターゲットシーケンスの開始を示すか、行末記号の後に続くか、特別な意味はありません。