【问题标题】:Regular Expression to get all characters before "_" and after "-"正则表达式获取\"_\"之前和\"-\"之后的所有字符
【发布时间】:2022-11-20 22:20:04
【问题描述】:

我想使用正则表达式获取 "FileType"

这是一个示例字符串:

随机名称-id-mininthostname-文件类型_20221118.zip

我试过 (?=-).*(?<=_) 但它会返回 "-minint-FileType_"

【问题讨论】:

    标签: c#


    【解决方案1】:

    将代表任意数量的任意字符的.*替换为[^-]*,代表除-之外的任意数量的任意字符。或者更好,因为我们想要捕获至少一个字符:[^-]+

    你颠倒了向前看和向后看。我也纠正了这一点。

    (?<=-)[^-]+(?=_)
    

    【讨论】:

    • 如果他们想确保 FileType 仅出现在 - 之后,则需要 lookbehind(或捕获组等)。如果 OP 始终希望第一个下划线作为分隔符,则否定字符类也可以是 [^-_]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 2021-03-15
    • 2022-08-04
    • 1970-01-01
    相关资源
    最近更新 更多