2017-01-26 9 views
0

- 、$ /を含む文字列にマッチさせようとしています(まだわからない他の特殊文字を含むかもしれません私は、文字列

の最初の28個の文字に一致する必要が文字列である - 私が使用しています>

Received - Data Migration 1. Units, of UNITED STATES $ CXXX CORPORATION COMMON SHARE STOCK CERTIFICATE NO. 323248 987,837 SHARES PAR VAL $1.00 NOT ADMINISTERED XX XX, XXXSFHIGSKF/XXXX PURPOSES ONLY

正規表現は((([\w-,.$\/]+)\s){28}).*

特殊文字を一致させるためのより良い方法はありますか?

文字列の長さは、私は正規表現は、文字列が28未満の文字

コードは、この

ようになります場合でも動作するように範囲を含めるために何ができる未満28である場合にも、私はエラーを取得します
Select regexp_extract(Txn_Desc,'((([\w-,.$;[email protected]\/%)^#<>&*(]+)\s){1,28}).*',1) as Transaction_Short_Desc,Txn_Desc 
from Table x 
+0

"...."私は文字列の最初の28文字に一致する必要があります "?正規表現ではなく標準の文字列関数と演算子(SUBSTR、LIKE)が役に立つかもしれないという疑いがありますが、まず問題が何であるかは不明です。 – mathguy

+0

上記のregexp_extractは、私が望む結果を得るのに役立ちました。しかし、上記のコードで示したものとは異なる特殊文字の正規表現パターンと一致する方が良いですか? – user5704279

+0

わかりません。 Oracleには 'regexp_extract'はありません。 Oracleを使用している(あなたのタブが示すように)何か別のものではないと思っていますか?また、共通言語(コードを使用しない)で要件を表現できる必要があります。 - コードの目的を推測しないようにしてください。 – mathguy

答えて

1

あなたは28のトークンを探しているようです。

これは8つのトークンの結果である

(\S+\s+){0,28} 

または

([^ ]+ +){0,28} 

を試してみてください:あなたは、私は、文字列に一致するようにしようとしています」とはどういう意味ですか

Received - Data Migration 1. Units, of UNITED 
|  | | |   | |  | | 
1  2 3 4   5 6  7 8 
+0

見てください.... –

+0

偉大な...これは動作します。おかげでありがとう – user5704279

+0

あなたは歓迎です:-)答えを受け入れることを忘れないでください。 –

関連する問題