ABAP 正则表达式

复制代码
DATA(lv_email) = 'user.name@example.com'.

IF matches( val = lv_email
            regex = '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
  WRITE: / '邮箱格式正确'.
ELSE.
  WRITE: / '邮箱格式错误'.
ENDIF.

将校验分为三部分 用 @ 跟 . 分割为三部分

第一部分就是 'user.name'

第二部分就是 'example'

第三部分 'com'

其中第一部分 中的内容校验了字母大写A-Z 小写a-z及字符' ._%+- ' 都可以出现在第一部分

第一部分 后的 + 号 表示 至少出现一个字符 例:a@example.com 就是符合要求的

第二部分也是同理

在 外的 . 要用转义符转义 转义符:\

第三部分 {2,} 表示至少出现两次 因为 后缀可能是.cn

如果第一部分确定 是 最少5位那可以写成

复制代码
DATA(lv_email) = 'user.name@example.com'.

IF matches( val = lv_email
            regex = '[A-Za-z0-9._%+-]{5,}@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
  WRITE: / '邮箱格式正确'.
ELSE.
  WRITE: / '邮箱格式错误'.
ENDIF.

如果第一部分确定 是 最少5位 最多十位那可以写成

复制代码
DATA(lv_email) = 'user.name@example.com'.

IF matches( val = lv_email
            regex = '[A-Za-z0-9._%+-]{5,10}@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
  WRITE: / '邮箱格式正确'.
ELSE.
  WRITE: / '邮箱格式错误'.
ENDIF.
相关推荐
懂点Tech6 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
云和数据.ChenGuang6 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
yivifu7 小时前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
美狐美颜SDK开放平台7 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
dtq04247 小时前
C++小案例 - 日志实战
开发语言·c++
星夜离尘567 小时前
MATLAB ADC 码流触顶诊断:命中数、缺口分段与削顶不可辨识性
开发语言·matlab
码匠许师傅8 小时前
【C++三方组件】Qt 概览:桌面 C++ 的事实标准与许可证三轨
开发语言·c++·qt
码匠许师傅9 小时前
【C++三方组件】POCO:跨平台系统编程全家桶
开发语言·c++
bkspiderx9 小时前
基于Socket的广播通信及C语言实现详解
c语言·开发语言·socket·广播·socket的广播通信
小王C语言9 小时前
Qt常用控件:输入类控件,单行/多行输入框、下拉框、(日期)微调框、旋钮、滑动条
开发语言·qt