【问题标题】:Need help to finding pattern需要帮助来寻找模式
【发布时间】:2023-05-15 11:20:01
【问题描述】:

我需要找到如下模式...

我有一列名为“解决方案”,其中将捕获用户键入的信息。在该列中的某些地方,用户输入了他的 ID。 Id 会像,

USER123456 USER456123

模式:ID 总是以 'USER' 开头,接下来的 6 位数字是数字

所以 ID 可以是字符串中的任何位置。根据模式,我需要提取 id。

我想实现,

%USER[0-9][0-9][0-9][0-9][0-9][0-9]%

示例文字:


用户 ID:USER525511 我将于 2014 年 6 月 26 日到期

从上面我要提取

USER525511

提前致谢

【问题讨论】:

    标签: sql regex sql-server-2008 patindex charindex


    【解决方案1】:

    这是你想要的吗?

    select substring(col,
                     patindex('%[a-z][a-z][a-z][a-z][0-9][0-9][0-9][0-9][0-9][0-9]%', col),
                     10)
    

    【讨论】:

    • 几乎是的,但我想冻结前四位数字,这意味着我需要对前四位数字进行硬编码... %USER[0-9][0-9][0-9] [0-9][0-9][0-9]%
    • @vignesh 。 . .然后改模式以'user'开头。
    • USER123458 use123458 试试这个值