6つの異なるデータ列に対応する6つの数字の後に、製品名の文字列ベクトルがあります。正規表現マッチング問題(Rを使用)
製品名または6つの最終的な番号を抽出できるようにしたい(空白で区切られているので分割することができます)。最後の6つの数字は、常に中央に点を持っています。
私は文字列から6つの数字を連続して抽出できる正規表現をテストしましたが、製品名に数値が含まれていると失敗します(例1の例では、名)。
これは、最後の6つの数字だけが選択されるように、文字列の最後で検索を開始できるように変更する必要があります。
現在の正規表現:
([\d]+[.][\d]+[\s]?){6}
例文字列:(最初の2つの例)を抽出する
[1] "white coffee tall £2.00 6.00 6.00 6.00 0.00 1.00 5.00"
[2] "product group:0 Total 6.00 6.00 6.00 0.00 1.00 5.00"
[3] "£1.45 CAKE 12.00 17.40 17.40 0.00 2.90 14.50"
[4] "95P CAKE £5.00 32.00 30.40 30.40 0.00 5.07 25.33"
[5] "Complementary hot beverage 11.00 0.00 0.00 0.00 0.00 0.00"
[6] "Flat white Large 5.00 5.00 5.00 0.00 0.83 4.17"
[7] "Flat white Small 8.00 5.20 5.20 0.00 0.87 4.33"
[8] "Go ahead Bar 5.00 4.25 4.25 0.00 0.71 3.54"
[9] "Graze Box 2.00 3.20 3.20 0.00 0.00 3.20"
[10] "Joe & Seph popcorn 2.00 1.90 1.90 0.00 0.32 1.58"
[11] "Kit kat 4 finger 6.00 3.00 3.00 0.00 0.50 2.50"
がString:
[1] "6.00 6.00 6.00 0.00 1.00 5.00"
[2] "6.00 6.00 6.00 0.00 1.00 5.00"
'サブ(」試し*((:。?[。] \\ bは\\ D + 1 \\ D + \\最後の '。*'はそれほど重要ではなく、 '$'で置き換えることができます)。 https://regex101.com/r/PXmGu1/1を参照してください –
ありがとうございます、私は正規表現のテスターで何をしているのかについて頭を浮かべます。 – user3084100