早教吧作业答案频道 -->其他-->
用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....的网友还看了以下:
国家的另外一种意思例如:h.o.l.l.a.n.d荷兰hopeourlovelastsandnev 2020-06-14 …
如图,水平地面上有两个静止的小物块a和b,其连线与墙垂直,a和b相距l,b与墙之间也相距l;a的质 2020-06-17 …
如图所示,半径为l4、质量为m的小球用两根不可伸长的轻绳a、b连接,两轻绳的另一端系在一根竖直杆的 2020-06-23 …
如图所示,半径为14l、质量为m的小球用两根不可伸长的轻绳a、b连接,两轻绳的另一端系在一根竖直杆 2020-07-08 …
如图所示,水平光滑绝缘细管中,两相同的带电金属小球相向运动,当相距L时,加速度大小均为a,已知A球 2020-07-11 …
如图所示,水平地面上有两个静止的小物块a和b,其连线与墙垂直:a和b相距l;b与墙之间也相距l;a 2020-07-14 …
下列结构图中,框①、②处理该分别填入()A.l⊂α,l⊥αB.l⊂α,l与α相交C.l⊊α,l⊥αD 2020-11-21 …
如图所示,在光滑的水平地面上,相距L=10m的A、B两个小球均以v0=10m/s向右运动,随后两球相 2020-11-25 …
AB两地相距L千米,甲乙两辆汽车分别从A,B两地同时出发,沿着一条公路相向而行,经t小时以后,甲车到 2020-12-15 …
如图所示,绝缘水平面上有A、B、C、D四点,依次相距L,若把带电金属小球甲(半径远小于L)放在B点, 2021-01-20 …