regex - 构建一个字符串,排除包含两个特定单词的文本
问题描述
我试图找到以下字符串的逆,但没有成功:
(?i)(?s)^(?=.*?word1)(?=.*?word2)
我构建了这个,但它仅用于一个单词,它甚至不能正常工作,考虑到如果我用 regex101 测试它,我得到一个匹配,而我不应该得到匹配:
(?i)(?s)(?!.*?word2)^.*$
请参阅以下链接: https ://regex101.com/r/qS7yN9/72
希望你们能帮助建立正确的字符串。
解决方案
您可以通过在整个事情周围包裹一个否定的前瞻断言来有效地否定结果:
(?i)(?s)^(?!(?=.*?word1)(?=.*?word2))
推荐阅读
- c++ - C++11 shared_ptr在多线程下多次释放
- tensorflow - 使用 MTCNN 时 TensorFlow 中的警告
- flutter - listview.builder 的高度取决于项目数/上下文
- html - 图像在某些设备中自动旋转
- c++ - 将函数指针传输到另一个程序文件
- azure-devops - 为特定 Azure 用户创建服务原则
- blender - 在单个网格处为两个段应用两种材料
- python - 无法在 spaCY 中将 ORTH 转换为字符串
- hbase - HBase 区域无法拆分
- reactjs - Material-UI : Rating Component,根据值改变颜色