私は、次のクエリを持っている:オラクルREGEXP_SUBSTRは私のパターンで作業していない
P_EQUATION := 'A123{(01+02)*2}#ACCOUNT_BALANCE# + B123{(20+10)/20}#ACCOUNT_BALANCE#';
それは私を与える以下:
REZ
-------------------------------------
A123{(01+02)*2}#ACCOUNT_BALANCE#
B123{(20+10)/20}#ACCOUNT_BALANCE#
私は、次の入力を与えた場合
SELECT DISTINCT A.REZ FROM
(
SELECT REGEXP_SUBSTR(P_EQUATION, '([A-Z|a-z|0-9]+)\{([0-9|\+|\-| |\*|\/\)\(]+)\}#([A-Z|a-z|0-9|_]+)#',1, LEVEL) AS REZ FROM DUAL
CONNECT BY REGEXP_SUBSTR(P_EQUATION, '([A-Z|a-z|0-9]+)\{([0-9|\+|\-| |\*|\/\)\(]+)\}#([A-Z|a-z|0-9|_]+)#',1, LEVEL) IS NOT NULL
) A;
しかし、マイナス記号はパターンに含まれていますが、中括弧の中に追加しておけば、 ymoreとの試合!
例:私は一致しようとした場合
P_EQUATION := 'A123{(01-02)*2}#ACCOUNT_BALANCE#';
私はこれに対する解決策を見つけることができないんだけど、私はそれが動作だけではマイナス記号と一致するようにしようとしたとき、特に、私を怖がられます数字だけで、それも動作します:(
すべてを脇に置いてください。あなたは文字クラスで '|'を使っていますか? '[A-Za-z0-9] +'だけでもうまく動作します – rock321987
私は知らない、それは問題を引き起こすだろうか? – simsim
文字列内に文字列があれば文字通り '|'にマッチします – rock321987