0

正規表現を使用して 1568.41 のみを表示したい文字列があります。
これが私の文字列であることをどのように行うことができますか

`*PQS«
価格見積もりレコード - 名前番号による要約

              RETAINED FARE                                 
 NAME    PQ TYPE TKT DES              CREATED       TKT TTL      
 1.1     1                            14MAY USD   1568.41       
 2.1     1                            14MAY USD   1568.41       
 3.1     2  CNN CH25                  14MAY USD   1363.41 `
  • 私は 1.1\s{2,5}\d\s(.+) 正規表現を使用しましたが、完全な行をフェッチします。
  • (?<=USD)\s{2,5}\d{1,4}.\d{2}(?=\s(.+)) を使用しましたが、機能しませんでした

同じ番号を取得したい別の文字列があります

WPNCB«                                                         
19AUG DEPARTURE DATE-----LAST DAY TO PURCHASE 21MAY/2359       
         BASE FARE      EQUIV AMT      TAXES             TOTAL   
  1-       DKK790       USD139.00     179.40XT       USD318.40ADT
     XT    109.80YQ      19.20YR      29.00ZO         5.40UA      
            2.00UD       14.00YK                                
             790         139.00     179.40            318.40TTL

以下では、最初の番号が必要です

tqt
T     P/S  NAME                   TOTAL            FOP                 SEGMENTS 
9    .3  TMACDORMAN/SAM CORBIN    USD      1177.17 CHECK                  4-5   
10   .1  TLOJ/DANUTA ISABELLA     USD      1341.17 CHECK                  4-5   
10  .2  TMACDORMAN/JACK HENRY    USD      1341.17 CHECK                  4-5

上記の文字列で必要なのは

  • 9
  • 10
  • 10

この文字列では、TTL の前に 318.40 をフェッチしたいのですが、正規表現を使用すると TTL も含まれ、正規表現の間で使用すると正規表現が機能しません\d{1,4}\.\d{2}TTL

前もって感謝します

4

2 に答える 2

3

This will find number with zero or more digits followed by a decimal point followed by two digits value at the end each line

(?:\s)([0-9]{0,}[.][0-9]{2})

enter image description here

enter image description here

于 2013-05-14T13:50:13.900 に答える
1

リクエストの 2 番目の質問をキャプチャします。これは少しきれいなので、空白検索をボーダー検索に変更したことに注意してください。

この正規表現では、文字列の後に a が続く必要があります。TTL

(?:\b)([0-9]{0,}[.][0-9]{2})(?=TTL)

ここに画像の説明を入力

ここに画像の説明を入力

于 2013-05-14T14:08:14.743 に答える