RegEx表示字符串不包含两个不同的字符串

时间:2010-01-28 23:44:54

标签: regex

那你认识Regex的大师们好吗?

如何使用reg ex搜索字符串以确保它不包含两个不同的字符串。

示例:假设我想确保“FileNTile”不包含文件或平铺

由于

cnorr

2 个答案:

答案 0 :(得分:11)

^((?!File|Tile).)*$

但这不太可能是一个好主意。几乎每个编程环境都有一个更清晰,更有效的字符串匹配方法。 (例如Python:if 'File' not in s and 'Tile' not in s

此外,并非所有正则表达式实现都具有前瞻性。例如。它在JavaScript中不可靠。根据模式(多行,dotall标志),换行可能会出现问题。

答案 1 :(得分:0)

这取决于语言。最简单的方法(概念上):搜索两者,并确保两者都不匹配。在Ruby中:

s = "FileNTile"
(s !~ /File/) and (s !~ /Tile)  # true if s is free of files and tiles.