2

私は次の(キー/値リスト)構造を持っています

フィールド:値値値 フィールド:値値値

classType: * type type2 ns.grrr.test3 _test4 * name_space.classType:grrr.test5 test6

文字列をグループに解析できるようにしたい

classType-フィールド_

  • タイプ-
  • type2
  • ns.grrr.test3
  • _test4

name_space.classType

  • grrr.test5
  • test6

私の試みの1つ

^(?<field>((\w+\.?)+)\:)(?<value>(((\w+\.?)+)\s?)+) 

これはexpressoでは機能しません。一部のパーツを動作させることはできますが、目的のグループを使用できません

また試した:

(?<value>((?!\:)((\w+\.?)+\:?)))

値グループに誤ってフィールドが含まれないようにするために、特別な文字はありません。

az AZ0-9_。-

どんな助けでも大歓迎です。

アップデート

近づくと、これは最後の用語「test6」を除くすべての値を正しくプルします。

どんな助けも歓迎します:)

(これに関する入力を@rfeagueに感謝します)。

((?<field>(\w+\.?)+)[:]((?<value>(\w+\.?)+)\s)+)

デイブ

4

2 に答える 2

1

これはすべてに一致します

(?<field>[^\s]+?):((?<value>[^\s]+)\s?)+
于 2012-10-01T07:14:35.663 に答える
0

入力をありがとう私は私のために正しい結果をもたらしている次のものを持っています

((?<field>(\w+\.?)+)[:]((?<value>(\w+\.?)+)(\s|$))+)
于 2012-10-01T07:11:18.473 に答える