正则表达式匹配特定单词但不匹配特定组合

标签 regex

我有 15 个标题如下:

fruits-and-flowers-themeA
fruits-and-flowers-themeB
fruits-and-flowers-just-test-themeA
themeAfruitsandflowers
nice-fruits-and-flowers-themeA
botanical-names-themeA

我想要一个正则表达式来帮助我只获得那些带有“themeA”的标题,但它不应该包含“nice”,也不应该包含“just-test”或“just-tests”。

我试过了

^(?!.*just-test|*just-tests|nice).*?(?:themeA).*,

但我仍然在输出中得到 fruits-and-flowers-just-test-themeA。

如何解决这个问题?

谢谢

最佳答案

您可以将此正则表达式与negative lookahead 一起使用:

^(?!.*?(?:just-tests?|nice)).*?themeA.*$

Working Demo

关于正则表达式匹配特定单词但不匹配特定组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151400/

相关文章:

java - 正则表达式用于用逗号分割字符串,忽略带有空格的逗号

Python 正则表达式 : why does this not work?

javascript - Material Design Lite 插件正则表达式 javascript

java - 为什么正则表达式组不起作用

regex - SAS : How do I find nth instance of a character/group of characters within a string?

java - 正则表达式在java中失败

regex - 使用 htaccess 从子文件夹中删除 index.php 不起作用

Python:如何使用正则表达式显示文本文件中的最高数字

python - 从字符串列表中提取薪水

c# - 有人可以为我分解这个 lambda 表达式吗?