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.
相关推荐
kaikaile199529 分钟前
数字全息图处理系统(C# 实现)
开发语言·c#
秋92 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
huangdong_2 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
chase_my_dream3 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
Cloud_Shy6183 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
天佑木枫3 小时前
15天Python入门系列 · 序
开发语言·python
宋拾壹4 小时前
同时添加多个类目
android·开发语言·javascript
凡人叶枫5 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
小小龙学IT5 小时前
Go 语言后端开发:从并发模型到生产落地的工程实践
开发语言·后端·golang
ytttr8735 小时前
Qt 数字键盘实现
开发语言·qt