oracle正则表达式匹配手机特号

本文介绍Oracle10g中正则表达式的使用方法,包括常用的语法元素及量词,通过实例展示了如何利用REGEXP_LIKE函数进行手机号码特征匹配。

     Oracle10g提供了在查询中使用正则表达的功能,它是通过各种支持正则表达式的函数在where子句中实现的。本文将简单的介绍oracle正则表达式常用语法,并通过一个手机特号匹配的例子演示正则表达式的使用。

  • oracle正则表达常用语法        

   定位元字符

元字符

说明

^

使表达式定位至一行的开头

$

使表达式定位至一行的末尾

  量词或重复操作符

量词

说明

*

匹配 0 次或更多次

?

匹配 0 次或 1 次

+

匹配 1 次或更多次

{m}

正好匹配 m

{m,}

至少匹配 m

{m, n}

至少匹配 m 次但不超过 n

 POSIX 字符类

字符类

说明

[:alpha:]

字母字符

[:lower:]

小写字母字符

[:upper:]

大写字母字符

[:digit:]

数字

[:alnum:]

字母数字字符

[:space:]

空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符

[:punct:]

标点字符

[:cntrl:]

控制字符(禁止打印)

[:print:]

可打印字符

 模式匹配

项目

说明

\n

n为一个 1 到 9 之间的数字,反斜线匹配之前的用括号括起来的第n个子表达式。

()

子表达式。

[]

字符列表

REGEXP_LIKE 函数

语法

说明

REGEXP_LIKE(source_string, pattern
[, match_parameter])

source_string 支持字符数据类型(CHAR、VARCHAR2、CLOB、NCHAR、NVARCHAR2 和 NCLOB,但不包括 LONG)。pattern 参数是正则表达式的另一个名称。match_parameter 允许可选的参数(如处理换行符、保留多行格式化以及提供对区分大小写的控制)。

 

  • oracle正则表达匹配手机特号   

     尾号四连号:([0123456789])\1\1\1$   如:13498212222、13613431111

                     sql:select * from tb_phone where REGEXP_LIKE(phone_no,'([0123456789])\1\1\1$')

     尾号四连顺:(0123|1234|2345|3456|4567|5678|6789)$  如:13576531234、13623432345

     尾号倒四连顺:(9876|8765|7654|6543|5432|4321|3210)$  如:13512329876、13676987654

     尾号00XX:00[[:digit:]][[:digit:]]$  如:13512320023、13512320035

     尾号AABB:([[:digit:]])\1([[:digit:]])\2$  如:13567545566

     尾号ABAB:([[:digit:]]{2})\1$   如:13545341212

     尾号AAAB:([[:digit:]])\1\1[[:digit:]]$  如:13564326667

<think>好的,用户想做一个微信小程序,主题是愚公移山,每个人每秒钟生成10个子。我需要先理解用户的需求。首先,愚公移山的故事是关于坚持不懈的精神,所以小程序可能希望用户通过不断“生子”来象征移山的努力。 用户提到每秒钟生成10个子,这可能意味着用户需要一种自动增长的机制,但每秒10个的速度非常快,需要考虑实际可行性。微信小程序的性能是否支持这么高的生成频率?可能需要调整速度,比如每秒1个或每分钟几个,以避免卡顿或数据过载。 接下来,用户可能需要功能设计方面的建议。比如用户如何开始生成子嗣,是否需要点击按钮,还是自动进行。界面设计可能需要显示当前子嗣数量、移山进度,以及可能的成就系统来激励用户持续参。 数据存储方面,用户的进度需要保存在本地或服务器。本地存储简单但容易丢失,云开发可以持久化数据但涉及成本。用户可能没有技术背景,需要推荐易用的解决方案,比如微信云开发。 动画效果方面,简单的粒子效果或图标移动可以增强体验,但复杂动画可能影响性能。需要平衡美观和流畅度。 合规性方面,微信小程序有严格的内容规范,确保主题不涉及敏感内容,比如“生子”是否符合规定,可能需要调整用词,比如改为“帮手”或“工人”。 用户可能希望加入社交元素,比如排行榜或分享功能,让朋友之间竞争,增加活跃度。但需要用户授权和隐私保护。 最后,用户可能需要技术实现步骤的指导,比如使用setInterval或WebSocket进行实时更新,前端框架的选择,以及后端如何处理高并发请求。如果用户是新手,可能需要更详细的教程或推荐开发工具。 总结,用户的核心需求是做一个以愚公移山为主题的微信小程序,核心机制是自动生成子嗣来移山。需要从功能设计、技术实现、合规性和用户体验等方面提供建议,同时考虑实际可行性和用户的技术水平,给出合适的解决方案。</think>好的!如果要设计一个以“愚公移山”为主题的微信小程序,核心机制是“每秒钟生成10个子”来模拟愚公家族不断壮大的过程,以下是分步实现的思路和建议: --- ### **一、核心机制设计** 1. **子嗣生成逻辑** - **自动增长**:每秒自动生成10个子嗣(需考虑实际性能,建议用虚拟数值而非实时渲染大量对象)。 - **手动触发**:添加按钮让用户点击加速生成(例如“召集村民帮忙”)。 2. **数值平衡** - **初始速度**:1秒/10个子(默认速率)。 - **加速规则**:通过道具或成就提升速度(如“神话加成”使速度翻倍)。 --- ### **二、技术实现方案** #### **前端(微信小程序框架)** 1. **计时器控制** ```javascript let timer = null; let childrenCount = 0; // 启动生成 function startGenerating() { timer = setInterval(() => { childrenCount += 10; // 每秒+10 this.setData({ count: childrenCount }); }, 1000); } // 停止生成 function stopGenerating() { clearInterval(timer); } ``` 2. **动画效果** - 使用CSS3动画或`<canvas>`绘制简单粒子效果(如小人物图标从底部向上飘动)。 #### **后端(可选)** - 如需保存用户进度,可使用微信云开发(云数据库): ```javascript const db = wx.cloud.database(); // 存储数据 db.collection('users').add({ data: { count: childrenCount, timestamp: new Date() } }); ``` --- ### **三、功能扩展建议** 1. **移山进度可视化** - 设计一个山脉图标,子嗣数量越多,山脉逐渐被“挖空”(通过进度条或图形变化体现)。 2. **成就系统** - 里程碑奖励(如“1000子嗣解锁新工具”)。 - 彩蛋事件(如“玉帝感动,瞬间生成10000子”)。 3. **社交互动** - 排行榜:对比好友的移山进度。 - 分享助力:邀请好友加速生成。 --- ### **四、注意事项** 1. **性能优化** - 避免高频更新UI导致卡顿,可改为每秒更新一次数值。 - 粒子动画需限制最大数量(如仅显示最后100个子嗣的动画)。 2. **合规性** - 避免使用“生子”等敏感词汇,可替换为“帮手”“工人”等。 3. **用户留存** - 加入离线收益(关闭小程序后按时间计算子嗣增长)。 --- ### **五、示例界面设计** 1. **主页布局** ``` [山脉图标(动态减少)] [当前子嗣数量:10000] [加速按钮] [分享按钮] [成就列表] ``` 2. **动效灵感** - 子嗣图标从屏幕底部向上滑动,象征“移山”。 --- 如果需要具体代码片段或更详细的技术实现步骤,可以告诉我您想深入的部分(如动画、云存储等)! 🌄
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值