私は正規表現(last night)と協力し始めています。
私は以下の式で単一[singleletter]:
をマッチング開始しました:
式: \ S +([AZ]:+)
オリジナルの文字列:フー・U:ジェームズ・HC:ユーザーP:製品
出力: [ "FOO"、 "U"、 "ジェームスH"、 "C"、 "ユーザー"、 "P"、 "製品"]
問題
私は[fullword]:
代わりの[sigleletter]:
をキャプチャするために正規表現を変更しようとしています。以下の両方の式は、regexr.comで必要に応じて動作しますが、C#では動作しません。私は間違って何をしていますか?
オプション1: [-ZA-Z] *([-ZA-Z] +)
オプション2:ワット* \([-ZA-Z] :+)
テストストリング: FOOユーザー:CUSTジェームスH:ユーザーPROD:製品
所望の出力: [ "FOO"、 "ユーザー"、 "ジェームスH"、「CUST。 "、" user "、" prod: "、" product "]
フルワードの定義:大文字と小文字を区別しないAZ
var foo1 = Regex.Split("cust:test", "[a-zA-Z]*([a-zA-Z]:+)"); var foo2 = Regex.Split("cust:test", "\w*([a-zA-Z]:+)");
最後に、現在[ `で動作する最初の式は動作しません(プラスコロン)
のC# singleletter]: 'はテストされたすべての文字列の先頭で空文字を返しますが、C#でのみ返されます。もう一度、私は何かを逃しているように感じる...
'Regex.Split( "FOO U:ジェームズ・HC:ユーザーP:製品" "\ sの+" @、);' –
何*フルワード*と見なされますか? – revo
@ L.B、希望の出力をよりよく説明するために質問を更新しました。ここでもregexr.comで動作します。 –