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.
相关推荐
FOAF-lambda12 分钟前
uiautomation-new 控件方位的使用
开发语言·python
OKkankan16 分钟前
LangChain能力详解!:从工具调用到 LangSmith——让聊天模型具备实时交互能力!
开发语言·python·langchain
richard_yuu21 分钟前
AOI 实战第五篇:c_broken 漏检严重,V4 迭代背后的权衡
开发语言·深度学习·yolo
m0_7345717640 分钟前
深入理解C++ 析构函数<一>基本概念
开发语言·c++
滕州市燕猫虎计算机科技工作室个体工商户1 小时前
Java面试题汇总
java·开发语言
孙启超2 小时前
【AI开发之Rust】第 3 课:字符串与复合类型 —— 数据怎么放
开发语言·人工智能·后端·rust·llm·transformer
t-think2 小时前
C++ string 类(上)—— string类初识与常用接口详解
开发语言·c++
cpp_learners2 小时前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
开发语言·c++·责任链模式
君顾12 小时前
外卖CPS软件开发实战:从系统架构到部署全流程指南
java·开发语言·外卖