ここから正規表現を使用したいと思います。
https://www.rfc-editor.org/rfc/rfc3986#appendix-B
私はそれを次のようにコンパイルしようとしています:
#include <regex.h>
...
regex_t regexp;
if((regcomp(®exp, "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?", REG_EXTENDED)) != 0){
return SOME_ERROR:
}
しかし、私はregcompの戻り値で立ち往生しています:
REG_BADRPT
人によると、それは意味します:
*
最初の文字として使用するなど、繰り返し演算子の使用が無効です。
この男で同様の意味:
?
、*
または+
前に有効な正規表現がない
私は自分の正規表現を使用してパーサーを作成しましたが、公式にはrfcにあるため、これもテストしたいと思います。ただし、検証に使用するつもりはありません。