【问题标题】:RegEx to match all sets of items that have part of specific value正则表达式匹配具有特定值的所有项目集
【发布时间】:2020-06-21 18:44:21
【问题描述】:

我正在尝试使用 RegEx 过滤在我定义的捕获组中具有特定值的所有项目集。

我必须检查第五个捕获组是否至少包含特定文本的一部分。

我的字符串:

第一项;第二项;第三项;第四项;第一个字;第六个 项?第一项;第二项;第三项;第四项;第二个字;第六个 项目?第一个项目;第二个项目;第三个项目;第四个项目;无法捕获这个 设置;第六项

适用于确切单词的正则表达式:

(?:^|\?)([^;]+);([^;]+);([^;]+);([^;]+);(Second Word);([^;\?$]+)

问题是我需要这个正则表达式来捕获单词的一部分。

不工作:

(?:^|\?)([^;]+);([^;]+);([^;]+);([^;]+);(.*Word.*);([^;\?$]+) > 

谢谢!

【问题讨论】:

  • 如果在“My String:”和“RegEx that works for exact word:”之间插入“Desired Result:”部分,您的问题会更清楚。给出示例时,显示期望的结果对读者总是有帮助的。
  • @Caca 如果对您有帮助,请点赞我的回答。

标签: regex


【解决方案1】:

使用[^;]* 而不是.*,因为您有分号作为字段分隔符:

(?:^|\?)([^;]+);([^;]+);([^;]+);([^;]+);([^;]*Word[^;]*);([^;?]+)

proof([^;]*Word[^;]*) 将匹配零个或多个分号以外的字符,然后是 Word 和零个或多个分号以外的字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-04
    • 2013-01-25
    • 2021-10-12
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多