Oracleで電話番号(または任意の番号)を正規表現して、正確に正しい長さの後に非数字が続き、場合によっては再び数字になるようにするにはどうすればよいですか?
例えば
SELECT 1 FROM DUAL WHERE
REGEXP_LIKE('555-5555x123', '^[0-9]{3,4}[^[:digit:]][0-9]{4}.*$')
番号555-5555が問題ない場合、555-5555x123は問題ありませんが、555-5555123は問題ありません。
太った指を持った人が電話番号を入力していて、番号を追加して間違えた場合(入力形式を制限する必要があるとは言わないでください。私のデータではありません)、これを問題としてフラグ付けする必要があります。その場合、例は555-55545x123のようになります。
OracleREGEXP_LIKEのテストケース値の結果555-5555ok555-5555x123ok555-55551x123失敗555-55551失敗555-5555555失敗