2011-07-19 3 views
1

数値文字と '。'、 '/'、 '_'、 ' - 'のような文字のみを許可し、40文字しか許可しない文字列を確認する方法。pl/sql regex verification

私はこのようなことをしていましたが、REGEXP_LIKE(path, '[a-zA-Z0-9_./-]{2,40}$')ですが、うまくいきません。

誰でもこの正規表現で私を助けることができますか?

答えて

3

文字列の先頭にアンカーされていないため、40文字に制限されません。試してみてください:

私は2つの文字であることをあなたが最小の長さのために意味しています、もちろん想定し、それに紛れ間違って何も表示されません。それよりも
REGEXP_LIKE(path, '^[a-zA-Z0-9_./-]{2,40}$') 

その他。

+0

の始まりを追加する必要があることができますか? – macwadu

+2

'^'アンカーなしでは40に制限されません。これは、文字列の最後にある40文字のいずれかと一致するためです。それの前に5Kの不気味さがあり、正規表現はまだ一致を見つけるだろう。 – chaos

+1

助けてくれてありがとう:) – macwadu

2

はあなたが40に制限を文句を言わない理由ラインの特殊文字^、すなわち:^[a-zA-Z0-9_./-]{2,40}$