现在我正在使用(.*e.*r.*s.*)
返回一个单词,例如
ERrandS
,但我需要排除所有3个字符连续出现的单词,例如runnERS
。序列中的任何2个字母可以连续出现。如果是2个字符,则仅当2个字符不连续时才应包括在内。
ers
的测试用例:
包括:ERrandS
,ERaSe
,abEttoRS
,algEbRaS
,'vERseS'
排除:runnERS
,advERSary
答案 0 :(得分:1)
最简单的方法可能就是认识到存在两种可能性,至少在e
和r
之间有一个字符,另一个在r
之间有至少一个字符,如s
。
这意味着您需要以下内容:
e.+r.*s|e.*r.+s
此格式完全取决于您所使用的 正则表达式引擎(您尚未指定),但基本上,*
表示前面项的零个或多个,{ {1}}表示一个或多个,+
表示模式(左侧或右侧)是匹配项。显然,您需要增加区分大小写的敏感性,并且如果是“整个字符串”匹配项,则可能在开头和结尾处放置|
,但是我给出的内容显示了如何匹配这两种可能性。