我正在尝试使用 Google 表格中的 regexmatch 函数来匹配下面列表中粗体案例中的项目“hip hop”:
- atl 嘻哈、肮脏的南方说唱、嘻哈、流行说唱
- 嘻哈、肮脏的南方说唱、流行说唱
所以我所追求的基本上是独立的hip hop在逗号之间(或在字符串的开头或结尾) - 没有任何前缀或后缀。
这是我的公式,但它不匹配正确:
=REGEXMATCH(LIST,"(\\W|^)(,\\ship\\shop,)(\\W|$)")
你需要使用
=REGEXMATCH(LIST,"^(?:.*,\s*)?hip\shop(?:\s*,.*)?$")
请参阅 正则表达式演示。
请注意,
^
和 $
锚点的存在只是为了便于在外部站点上进行调试,因为 REGEXMATCH
无论如何都需要完整的字符串匹配。
详情
^
- 字符串的开头(?:.*,\s*)?
- 可选出现
.*
- 除了换行符之外的任何零个或多个字符,尽可能多,
- 逗号\s*
- 零个或多个空格hip\shop
- hip
,空格,hop
(?:\s*,.*)?
- 可选出现零个或多个空格、逗号以及除换行符之外的任何零个或多个字符(尽可能多)$
- 字符串结尾。