那你认识Regex的大师们好吗?
如何使用reg ex搜索字符串以确保它不包含两个不同的字符串。
示例:假设我想确保“FileNTile”不包含文件或平铺
由于
cnorr
答案 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.