regex - 正则表达式 - 匹配单词的一部分,但有一个异常(exception)

标签 regex

我需要一个正则表达式来在任何实例中查找“ship”,例如:ship,spaceships,starship,shipping等。但是它不需要查找“warship”。它还需要不区分大小写。目前我有:

(?!(军舰))(?i)船

...查找“ship”,但仍然查找“warship”,因为它包含“ship”。我试过:

(?!(军舰))^(?i)船

...在一定程度上有效,但例如“starship”不会被返回。我确信答案非常简单,但我现在看不到。您的帮助将会非常大!

最佳答案

首先我想尝试负向回顾:

 /(?<!war)ship/

它应该匹配所有单词而不是warship。但它只获取 ship 部分。因此,如果您只是通过正则表达式检查字符串是可以的,但如果您想获得匹配的单词,则无法正常工作。

关于regex - 正则表达式 - 匹配单词的一部分,但有一个异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24529588/

相关文章:

javascript - String.replace(Regex) 返回未定义

php - .htaccess 的单一入口点显示 500 内部错误

Java字符串-将多个空格替换为一个,然后根据空格将字符串拆分为数组

python - 将 url 与 python 中的自定义模式进行比较

regex - 将正则表达式与大写匹配

javascript - 使用正则 exp 将字符串中的每个单词用 span 包裹起来

python - 在 BeautifulSoup、python 中仅从表 (td) 中提取特定的行和列

javascript - 多次替换字符串之间的字符串

java - 不允许使用波形符/控制台键的正则表达式

regex - 奇怪的 sed 输出