早教吧作业答案频道 -->其他-->
用oracle正则表达式1.号码尾数后4位含3个以上(含3个)相同号码----如AAAA、BAAA、AAAA,注A不等于B2.号码尾数后4位按顺序连续递增或递减----如ABCD、DCBA,注A、B、C、D均不相等3.号码尾数后4位排序
题目详情
用oracle正则表达式
1.号码尾数后4位含3个以上(含3个)相同号码----如AAAA、BAAA、AAAA,注A不等于B
2.号码尾数后4位按顺序连续递增或递减----如ABCD、DCBA,注A、B、C、D均不相等
3.号码尾数后4位排序有规律且规律重复----如ABAB、AABB、BAAB,注A不等于B
4.号码尾数后8位,其中有6位以上数字排序有规律且规律重复次数超过2次以上(含2次)的号码----AAABBB**、**AABAAB、**ABBABB、**ABCABC、*AABAAB*、*ABBABB*、*ABCABC*、AABAAB**、ABBABB**、ABCABC**,注A、B、C不相等
1.号码尾数后4位含3个以上(含3个)相同号码----如AAAA、BAAA、AAAA,注A不等于B
2.号码尾数后4位按顺序连续递增或递减----如ABCD、DCBA,注A、B、C、D均不相等
3.号码尾数后4位排序有规律且规律重复----如ABAB、AABB、BAAB,注A不等于B
4.号码尾数后8位,其中有6位以上数字排序有规律且规律重复次数超过2次以上(含2次)的号码----AAABBB**、**AABAAB、**ABBABB、**ABCABC、*AABAAB*、*ABBABB*、*ABCABC*、AABAAB**、ABBABB**、ABCABC**,注A、B、C不相等
▼优质解答
答案和解析
CREATE TABLE test_phone (
phone_number varchar(20)
);
INSERT INTO test_phone
SELECT '13812345678' FROM dual UNION ALL
SELECT '13812345566' FROM dual UNION ALL
SELECT '13812345656' FROM dual UNION ALL
SELECT '13812345556' FROM dual UNION ALL
SELECT '13812346666' FROM dual UNION ALL
SELECT '13855661234' FROM dual UNION ALL
SELECT '13856561234' FROM dual UNION ALL
SELECT '13855561234' FROM dual UNION ALL
SELECT '13866661234' FROM dual;
-- AAAA 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812346666
-- AABB 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1([^\1])\2')
AND NOT REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812345656
-- ABAB 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)(\d)\1\2')
AND NOT REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812345656
递增的用正则表达式处理很麻烦. 我就只列几个简单的吧.
CREATE TABLE test_phone (
phone_number varchar(20)
);
INSERT INTO test_phone
SELECT '13812345678' FROM dual UNION ALL
SELECT '13812345566' FROM dual UNION ALL
SELECT '13812345656' FROM dual UNION ALL
SELECT '13812345556' FROM dual UNION ALL
SELECT '13812346666' FROM dual UNION ALL
SELECT '13855661234' FROM dual UNION ALL
SELECT '13856561234' FROM dual UNION ALL
SELECT '13855561234' FROM dual UNION ALL
SELECT '13866661234' FROM dual;
-- AAAA 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812346666
-- AABB 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1([^\1])\2')
AND NOT REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812345656
-- ABAB 结尾的
SELECT
*
FROM
test_phone
WHERE
REGEXP_LIKE(REVERSE(phone_number), '^(\d)(\d)\1\2')
AND NOT REGEXP_LIKE(REVERSE(phone_number), '^(\d)\1\1\1');
PHONE_NUMBER
----------------------------------------
13812345656
看了 用oracle正则表达式1....的网友还看了以下:
高二不等式大小关系实数a>b,则代数式a^3+a^2b与b^3+b^2a之间的大小关系是a^3+a 2020-04-26 …
三角函数已知TT/6<a<2TT/3,cos(a+TT/3)=m(m不等于0),求tan(2TT/ 2020-04-26 …
一个班有60人,选A的占3/5,选B的比A多3个,既不选A也不选B的,比都选AB的1/3多1个问, 2020-05-12 …
几道关于指数函数的题目!刚刚做卷子一些不会做的题目 ,基础不行我...已知a(1/2)+a(-1/ 2020-05-16 …
若方程组x+3y=a-5x和4a+ay=3-5y只有唯一解,则a的值是多少有4个选项a=3,a=- 2020-05-16 …
用oracle正则表达式1.号码尾数后4位含3个以上(含3个)相同号码----如AAAA、BAAA 2020-06-22 …
设集合Pn={1,2,...,n},n∈N*,记f(n)为同时满足下列条件的集合A的个数1、A⊆P 2020-07-20 …
设U={1,2,3,4},若A并集B={2},(CuA)并集B={4},(CuA)并集(CuA)并 2020-07-30 …
解一元一次不等式方程组?不等式组{3(x+1)≤2(4-x)}{2x-3/5≤2x+1}的正整数解 2020-08-03 …
(1)(a^1/2)^2/3=a^1/3不对吗(2)(a^-3/5)^-1/3=a^1/5不对吗(3 2020-12-09 …