代码之家  ›  专栏  ›  技术社区  ›  Joseph

正则表达式匹配具有不同符号的短语

  •  1
  • Joseph  · 技术社区  · 4 年前

    我这里有一句话 AAC Barcode Description 这个正则表达式应该匹配。

    问题是有时我有下划线,符号等。。。

    • AAC条形码+说明
    • AAC条形码+说明
    • AAC条码及;描述
    • AAC条形码和说明

    \b\w*AAC Barcode Description\w*\b
    
    1 回复  |  直到 4 年前
        1
  •  0
  •   Wiktor Stribiżew    4 年前

    你可以用

    \w*AAC Barcode(?:\s+and\s+|\W+)Description\w*
    

    见 regex demo \w* s、 如果你想匹配这个字符串是一个完整的单词,你需要删除 \w* 保存 \b s:

    \bAAC Barcode(?:\s+and\s+|\W+)Description\b
    

    细节 :

    • \w* -零个或多个字字符
    • AAC Barcode -固定字符串
    • (?:\s+and\s+|\W+) -一个非捕获组匹配 and 包含一个或多个空格或一个或多个非单词字符
    • Description
    • \w* -零个或多个字字符