python - 使用正则表达式检查字符串是否包含独立的 'c++'

标签 python regex

所以我试图找出字符串是否包含独立的 'c++' 子字符串,例如:

'abcabcabc c++ abc abc' 应返回 true

但是

'abcabcabc c++11 abc abc' 应返回 false。

我正在尝试使用此正则表达式来实现它:r'\bc\+\+\b',它适用于 'foo' 子字符串而不是 'c++' 完全相同的场景 ( r'\bfoo\b' ,它为 'abc abc foo abc abc' 返回 true ,为 'abc abc foo12 abc abc' 返回 false )但它不适用于 'c++' 。 :(

我错过了什么?

我正在使用 python 的 re 模块,regex101.com 会产生相同的结果。

最佳答案

如果后面跟着单词字符,您可以使用否定前瞻来避免匹配:

\bc\+\+(?!\w)

演示:https://regex101.com/r/d3VHyH/1

关于python - 使用正则表达式检查字符串是否包含独立的 'c++',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468133/

相关文章:

javascript - 如何在正则表达式中创建匹配?

javascript - 在单个正则表达式中将 X 替换为 Y,将 Y 替换为 X

python - 如果服务器安全(使用 https),如何知道使用 Django

python - TraitsUI 错误 View 取决于操作系统

python - 设置用 Pandas 绘制的时间序列的边距

.net - 当电子邮件地址没有 @ 符号时,电子邮件正则表达式陷入无限循环

regex - Emacs lisp 正则表达式从缓冲区文件名中提取当前相对路径

regex - Html5 模式属性与电子邮件 (user@gmail.com) 不匹配

python - 组内的 Pandas 排序导致重复索引

python - HTML 和 Flask 新手。如何让用户无需登录即可提交图像和描述?