如何用“FELIX”替换给定字符串中的“cat”,但如果后面跟着“ - 或_或:”这样的特殊字符
示例:
“我的猫一直都很饿”=> “我的菲利克斯一直都很饿”
“产品cat-1547和cat:154现在是令人失望的” => “产品cat-1547和cat:154现在是令人失望的”
感谢
答案 0 :(得分:0)
使用负向前瞻和字边界:
/\bcat\b(?![-:])/
请参阅regex demo
模式说明:
\b
- 引导字边界(以避免在cat
中匹配tomcat
)cat
- 文字字符串cat
\b
- 尾随字边界(即下一个字符必须是非字母,非数字和非下划线字符,并且它阻止匹配cat
中的catwalk
) (?![-:])
- 否定前瞻如果-
或:
立即跟随{{1} }。cat
答案 1 :(得分:0)
在python中你可以:
(cat)(?![-:])
?检查表达式后面跟着的是什么?!