首页 > 解决方案 > 用于检测键和值的正则表达式

问题描述

我需要一个正则表达式来检测文本文件中的键和值,键为大写,值至少包含一个小写或数字

E.g.: "ADDRESS""32 street 90. ETC""AGE""13""CLASS""ABC" ....

正则表达式:

"[A-Z]+"`"((.*\d.*)|(.*[a-z]))"`

"[A-Z]+" to match the key
"((.*\d.*)|(.*[a-z]))" to match the value

但该值与第一个值匹配,直到文件结束。有任何想法吗 ?

注意:正则表达式应该只匹配 ADDRESS 和 AGE 而不是 CLASS

标签: regex

解决方案


您可以使用

"([A-Z]+)""([^"]*[a-z0-9][^"]*)"

看到这个正则表达式演示

细节

  • "- 双引号
  • ([A-Z]+)- 第 1 组:一个或多个大写字母
  • ""- 两个"字符
  • ([^"]*[a-z0-9][^"]*)- 第 2 组:
    • [^"]*- 零个或多个字符"
    • [a-z0-9]- 小写字母或数字
    • [^"]*- 零个或多个字符"
  • "- 双引号

推荐阅读