2 つの特定の文字列間の数値を見つける方法は?

バイカーデュード

文字列として次のものがあります。

{
   "_matrix":[
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":-1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":-.1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":1.1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":.1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":1
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":0
      },
      {
         "__FRAMEWORK_ANY_SPEC__":"namesdeleted.mumbojumbo`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]",
         "value":1
      }
   ]
}

私のメイン"value":}数字の前後にあるすべての数字を収集する必要があります。値は、任意の 10 進数/整数にすることができます。

個人的には、可能であれば科学的記数法にも対応したいと考えています。

私の現在の正規表現は次のとおりです。

(?<=("value": ))(?:\d*.)?\d+(?=})

私は C# で使用しているので?<=、有効です。

私の現在の正規表現は、次のタイプの数値をフィルタリングできます。

  • 1
  • -1
  • 1.1
  • .1

次のことにも対応する必要があります。

  • -.1

  • 科学的記数法なので"value":、次と次の間のすべてをキャプチャする方法がある場合}

マット・バーランド

コメントで表現されているように、これは JSON のように見え、正規表現を使用しようとするのではなく、それを解析する必要があります。ただし、正規表現を使用する必要がある場合は、次のようなものが機能するようです。

(?<=("value": ))(?:-?\d*\.?)?\d+(?=})

変更は-?、オプションのマイナス記号をカバーするために追加する.ことであり、正規表現の任意の文字一致する\.ため、小数点と一致するはずだったと思われるものを変更するため、エスケープする必要があります。次に、 を追加してオプションにしました。.?

https://regex101.com/r/drNrDS/1

1.1e10and のような数をサポートしたい場合は1.1e-3、オプションの一致をいくつか追加するだけです。

(?<=("value": ))(?:-?\d*\.?)?\d+(?:e|e-)?\d*(?=})

そのため、(?:e|e-)?\d*一致するもの、eまたはe-その後にいくつかの数字が続くものを追加しまし

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

iOS巨大な文字列の2つの文字列の間で複数の文字列を見つける方法は?

分類Dev

正規表現を使用して2つの特殊文字の間の特定の文字列を見つける方法は?

分類Dev

2つの文字列間で一致する文字の数をすばやく見つける方法は?

分類Dev

2進文字列の特定の範囲で010の数を見つける方法

分類Dev

CLOB列で2つの文字列を見つける方法は?

分類Dev

Excel、1つの行の2つの列の間の値を見つける方法は?

分類Dev

SAS-2つまたは3つの数値の間の最大値を見つける方法

分類Dev

Python:2つの別々の配列間で2つの等しい/最も近い値を見つける方法は?

分類Dev

与えられた2つの部分文字列の間の文字列を効率的に見つける方法は?

分類Dev

2つの変数の周りの2つの文字列を見つけて置き換える方法は?

分類Dev

SQLサーバーで2つのvarchar文字列の間にある文字列を見つける方法は?

分類Dev

2D numpy配列で値の特定の「領域」を見つける方法は?

分類Dev

文字列間の一致を2つの配列に見つける方法-java

分類Dev

特定の単語の後の2つの文字列の間の文字列を見つける

分類Dev

配列内の整数と数値の間の2つの最も近い違いを見つける方法

分類Dev

2つの日付の間の中央値の月を見つける方法は?

分類Dev

2つの配列間の共通要素の数を見つける

分類Dev

2つの日付の間の分割払いの数を見つける方法は?

分類Dev

2つの文字列の間の共通の部分文字列を見つける

分類Dev

2つの文字列の間の共通の部分文字列を見つける

分類Dev

2次元配列で数値の平均を見つける方法

分類Dev

Pythonの2次元配列で特定の値に分割できる値の数を見つける方法

分類Dev

sedを使用して2つのパターン間の文字列を見つける方法は?

分類Dev

Scalaで2つの文字列間の最大オーバーラップを見つける方法は?

分類Dev

これら2つの関数の実行時間を見つける方法は?

分類Dev

Javascript:2つの数値配列の違いを見つける方法

分類Dev

2つの文字列で不平等になる文字を見つける方法は?

分類Dev

Rubyの2つの文字列間で最初の異なる文字を見つける

分類Dev

Pythonで2D配列の値を見つける方法は?

Related 関連記事

  1. 1

    iOS巨大な文字列の2つの文字列の間で複数の文字列を見つける方法は?

  2. 2

    正規表現を使用して2つの特殊文字の間の特定の文字列を見つける方法は?

  3. 3

    2つの文字列間で一致する文字の数をすばやく見つける方法は?

  4. 4

    2進文字列の特定の範囲で010の数を見つける方法

  5. 5

    CLOB列で2つの文字列を見つける方法は?

  6. 6

    Excel、1つの行の2つの列の間の値を見つける方法は?

  7. 7

    SAS-2つまたは3つの数値の間の最大値を見つける方法

  8. 8

    Python:2つの別々の配列間で2つの等しい/最も近い値を見つける方法は?

  9. 9

    与えられた2つの部分文字列の間の文字列を効率的に見つける方法は?

  10. 10

    2つの変数の周りの2つの文字列を見つけて置き換える方法は?

  11. 11

    SQLサーバーで2つのvarchar文字列の間にある文字列を見つける方法は?

  12. 12

    2D numpy配列で値の特定の「領域」を見つける方法は?

  13. 13

    文字列間の一致を2つの配列に見つける方法-java

  14. 14

    特定の単語の後の2つの文字列の間の文字列を見つける

  15. 15

    配列内の整数と数値の間の2つの最も近い違いを見つける方法

  16. 16

    2つの日付の間の中央値の月を見つける方法は?

  17. 17

    2つの配列間の共通要素の数を見つける

  18. 18

    2つの日付の間の分割払いの数を見つける方法は?

  19. 19

    2つの文字列の間の共通の部分文字列を見つける

  20. 20

    2つの文字列の間の共通の部分文字列を見つける

  21. 21

    2次元配列で数値の平均を見つける方法

  22. 22

    Pythonの2次元配列で特定の値に分割できる値の数を見つける方法

  23. 23

    sedを使用して2つのパターン間の文字列を見つける方法は?

  24. 24

    Scalaで2つの文字列間の最大オーバーラップを見つける方法は?

  25. 25

    これら2つの関数の実行時間を見つける方法は?

  26. 26

    Javascript:2つの数値配列の違いを見つける方法

  27. 27

    2つの文字列で不平等になる文字を見つける方法は?

  28. 28

    Rubyの2つの文字列間で最初の異なる文字を見つける

  29. 29

    Pythonで2D配列の値を見つける方法は?

ホットタグ

アーカイブ