【问题标题】:Using Regular Expression to extract 4 digits from a string?使用正则表达式从字符串中提取 4 位数字?
【发布时间】:2020-05-26 09:47:01
【问题描述】:

希望得到一些帮助。我是正则表达式的新手,我正在尝试想出一些东西来搜索一个字符串并检查它是否有 4 个连续的数字,如果有,则将该 4 位数字提取到一个新属性中。

我想使用正则表达式,但我对表达式有点困惑。 对于某些背景,我正在使用一个主数据管理工具,它有自己的语法,与 SQL 非常相似。

这是来自工具的表达式的框架: REGEXP_LIKE(string, pattern, parameter)

类似(string,/d/d/d/d,[,i]) 的东西?

从字符串中提取 4 位数字,不区分大小写(不确定这是否适用)

有时数字的位置不同,因此子字符串不是最佳选择。

任何反馈都会帮助我找到正确的方向!

【问题讨论】:

  • \d{4} 将匹配 4 位数字。
  • 在regular-expression.info 阅读正则表达式教程。
  • 子串超过4位怎么办?
  • @davidgeorge。 . .用您正在使用的数据库标记您的问题。

标签: sql regex regexp-replace master-data-management


【解决方案1】:

尝试使用表达式(\d{4}),它将匹配字符串中连续出现的 4 位数字。 \d 指的是0-9 的集合,{4} 是指定 4 位数字。如果你想 4 岁或更少,你会说\d{,4}。我还建议您查看https://regexr.com/之类的网站,您可以制作表达式然后将它们复制到其他地方,它会逐步显示每个元素的含义,并允许您在那里进行测试,并且有详细的每个功能的备忘单。表达式周围的括号指定它是一个组,因此您可以稍后通过获取第一个组来接收它的内容,无论您使用什么 API。

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2015-08-15
    • 1970-01-01
    • 2014-10-17
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    相关资源
    最近更新 更多