正規表現を使用して、1行の文字列から繰り返しパターンを抽出します

アブデル・ファタ・ラドワン

次のような文字列があります。

attr one = 1 attr two = 2

それぞれを抽出したいと思いますattr x = y(ここで、xとyは、数字だけでなく、空白を含む任意のものにすることができます:attr name = Jonah)。

私は次のパターンを試しました:Regex pattern = new Regex(@"attr\s+(?<name>.*)\s+=\s+(?<value>.*)")しかし、それは単一の一致で文字列全体を返し、それらを分離しません。

どうすればそれを達成できますか?

WiktorStribiżew

あなたは使用することができます

\battr\s+(?<name>\S*)\s+=\s+(?<value>.*?)(?=\s+attr\s|\z)

正規表現のデモを見る

詳細

  • \battr -一言 attr
  • \s+ -1つ以上の空白
  • (?<name>\S*) -グループ「名前」:0個以上の非空白文字
  • \s+=\s+- =1+空白で囲まれた文字
  • (?<value>.*?) -グループ「値」:改行以外の0個以上の文字をできるだけ少なくします。
  • (?=\s+attr\s|\z)-その直後に1attrつ以上の空白と空白、または文字列の終わりが続きます。

C#デモを参照してくださいnamesすべてが一意であると想定しています)。

var text = "attr one = one two three attr two = 3";
var dct = Regex.Matches(text, @"\battr\s+(?<name>\S*)\s+=\s+(?<value>.*?)(?=\s+attr\s|\z)")
        .Cast<Match>()
        .ToDictionary(p => p.Groups["name"].Value, p => p.Groups["value"].Value); 
foreach (var kvp in dct)
    Console.WriteLine("{0} -> {1}", kvp.Key, kvp.Value);

出力:

one -> one two three
two -> 3

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonで正規表現を使用して繰り返しパターンで文字列を解析しますか?

分類Dev

Python正規表現を使用してパターンを繰り返します

分類Dev

正規表現を使用して1つの大きな文字列からデータを抽出します

分類Dev

正規表現を使用して文字列からデータを抽出します

分類Dev

正規表現を使用してRのパターンから文字列を抽出する方法

分類Dev

終了語を繰り返す正規表現を使用して文字列のセクションを抽出する

分類Dev

oraclesqlの正規表現を使用してコンマ区切りの文字列から数値を抽出します

分類Dev

正規表現を使用して文字列から特定の文字を抽出します

分類Dev

Scalaで正規表現を使用して文字列からすべてのトークンを抽出します

分類Dev

正規表現パターンを使用して必要な文字列を抽出しますか?

分類Dev

C#で正規表現を使用してパターンを繰り返す

分類Dev

正規表現パターンにのみ一致する文字列から文字を抽出します

分類Dev

正規表現を使用して文字列から積分パターンを抽出する方法

分類Dev

正規表現を使用してPython文字列からパターンを抽出する

分類Dev

正規表現を使用して、文字列の末尾から繰り返される可能性のあるパターンをどのように削除しますか?

分類Dev

正規表現を使用して特定のパターンで1行目を抽出します

分類Dev

正規表現で繰り返しパターンを抽出する

分類Dev

正規表現を使用して、改行文字を除く繰り返しパターンに基づいて抽出する

分類Dev

VBA正規表現-パターンを繰り返さない限り、文字列全体に一致します

分類Dev

Rの正規表現を使用してファイル名からパターンを抽出しますか?

分類Dev

正規表現を使用して、パンダのデータフレームから要素を抽出します

分類Dev

正規表現を使用して、特別なパターンのテキストから1行目を抽出します

分類Dev

正規表現を使用して、特別なパターンのテキストから1行目を抽出します

分類Dev

正規表現を使用して、パンダ列から部分文字列を抽出します

分類Dev

正規表現を使用して、文字列内から文字列を抽出します

分類Dev

Javaパターンを使用して文字列内の4つの繰り返される文字に一致する正規表現

分類Dev

繰り返し文字列パターンを置き換える正規表現

分類Dev

正規表現を使用して文字間のデータを抽出しますか?

分類Dev

正規表現を使用して文字間のデータを抽出しますか?

Related 関連記事

  1. 1

    Pythonで正規表現を使用して繰り返しパターンで文字列を解析しますか?

  2. 2

    Python正規表現を使用してパターンを繰り返します

  3. 3

    正規表現を使用して1つの大きな文字列からデータを抽出します

  4. 4

    正規表現を使用して文字列からデータを抽出します

  5. 5

    正規表現を使用してRのパターンから文字列を抽出する方法

  6. 6

    終了語を繰り返す正規表現を使用して文字列のセクションを抽出する

  7. 7

    oraclesqlの正規表現を使用してコンマ区切りの文字列から数値を抽出します

  8. 8

    正規表現を使用して文字列から特定の文字を抽出します

  9. 9

    Scalaで正規表現を使用して文字列からすべてのトークンを抽出します

  10. 10

    正規表現パターンを使用して必要な文字列を抽出しますか?

  11. 11

    C#で正規表現を使用してパターンを繰り返す

  12. 12

    正規表現パターンにのみ一致する文字列から文字を抽出します

  13. 13

    正規表現を使用して文字列から積分パターンを抽出する方法

  14. 14

    正規表現を使用してPython文字列からパターンを抽出する

  15. 15

    正規表現を使用して、文字列の末尾から繰り返される可能性のあるパターンをどのように削除しますか?

  16. 16

    正規表現を使用して特定のパターンで1行目を抽出します

  17. 17

    正規表現で繰り返しパターンを抽出する

  18. 18

    正規表現を使用して、改行文字を除く繰り返しパターンに基づいて抽出する

  19. 19

    VBA正規表現-パターンを繰り返さない限り、文字列全体に一致します

  20. 20

    Rの正規表現を使用してファイル名からパターンを抽出しますか?

  21. 21

    正規表現を使用して、パンダのデータフレームから要素を抽出します

  22. 22

    正規表現を使用して、特別なパターンのテキストから1行目を抽出します

  23. 23

    正規表現を使用して、特別なパターンのテキストから1行目を抽出します

  24. 24

    正規表現を使用して、パンダ列から部分文字列を抽出します

  25. 25

    正規表現を使用して、文字列内から文字列を抽出します

  26. 26

    Javaパターンを使用して文字列内の4つの繰り返される文字に一致する正規表現

  27. 27

    繰り返し文字列パターンを置き換える正規表現

  28. 28

    正規表現を使用して文字間のデータを抽出しますか?

  29. 29

    正規表現を使用して文字間のデータを抽出しますか?

ホットタグ

アーカイブ