微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式匹配大括号之间的任何内容,除了个位数?

如何解决正则表达式匹配大括号之间的任何内容,除了个位数?

我正在尝试编写一个非常具体的正则表达式,该正则表达式匹配 { } 之间的所有内容,除了个位数。所以,这里有几个例子:

  • {a} - 匹配
  • {aB} - 匹配
  • {1} - 不匹配
  • {1g} - 匹配
  • {55-5} - 匹配
  • {46512} - 匹配
  • {5} - 不匹配
  • {4E-2D} - 匹配
  • {A4} - 匹配
  • {ASD 5D} - 匹配

到目前为止,对我来说正确的是匹配开头的大括号 (?<=\{) 和结尾的 (?=\}),但中间的表达式不成功。非常感谢一些想法。

解决方法

你有两个部分的模式。匹配除单个数字之外的其他内容:

 (?<={)(?!\d})[^{}]+(?=})

模式匹配

  • (?<={) 向左断言 {
  • (?!\d}) 断言不\d} 向右
  • [^{}]+ 匹配除 {} 之外的任何字符
  • (?=}) 在右侧断言 }

Regex demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。