次の方法で、文字列を(正規表現を介して)トークンに分割しようとしています。
例 1
入力文字列:'hello'
最初のトークン: '
2 番目のトークン: hello
3 番目のトークン:'
例 2
入力文字列:'hello world'
最初のトークン: '
2 番目のトークン: hello world
3 番目のトークン:'
例 3
入力文字列:hello world
最初のトークン: hello
2 番目のトークン:world
つまり、文字列が単一引用符で囲まれていない場合にのみ文字列を分割し、単一引用符は独自のトークンにする必要があります。
これは私がこれまでに持っているものです:
string pattern = @"'|\s";
Regex RE = new Regex(pattern);
string[] tokens = RE.Split("'hello world'");
これは、例 #1 と例 #3 では機能しますが、例 #2 では機能しません。理論的に正規表現で目的を達成する方法があるかどうか疑問に思っています