我尝试使用正则表达式来解决下面的问题,但是不能(最后使用其他方法):
http://community.topcoder.com/stat?c=problem_statement&pm=13006&rd=15846
给定一个字符串,您必须检查是否按此顺序包含字符C
,A
和T
,并且每个字符只出现一次。它可以是这些字符之间的其他字符。
例如:
CTA -> false
XCYAZTX -> true
ACBBAT -> false
CATT -> false
CCAT -> false
CAAT -> false
CAT -> true
所以,它将是:
public String getAnswer(String S) {
if(S.matches("pattern???")) return "Possible";
return "Impossible";
}
有人知道使用的模式并可以分享吗?
答案 0 :(得分:3)
你使用这样的模式:
^[^CAT]*C[^CAT]*A[^CAT]*T[^CAT]*$
答案 1 :(得分:3)