我一直试图匹配排除某个字符的模式。
让我们说给出的字符是" h ... o",我希望匹配所有不包含某个字符的单词,让我们说' c' 我尝试了很多不同的方法来解决这个问题。 其中一些包括,
"h^[c]^[c]^[c]o"
"h(!?c)(?!c)(!?c)o"
但这些都没有,有谁知道最新情况?
这点有点像作弊挂人,我把所有不包含猜测的单词都归还。
vector<string> getWords(string currentWord, char guess){
for(auto& i: currentWord){
string reg = ""
if(i == '_'){
string t = [[regex expression for acception any char except 'guess']]
reg += t;
}else{
reg += i;
}
}
return getMatchingWords(mapOfWords, reg)
}
只接受所有不包含猜测的单词并不起作用,因为排除是indexbound
答案 0 :(得分:1)
正则表达式h^[c]^[c]^[c]o
不起作用,因为它会查找h
,然后是^
,后跟c
,依此类推。
要取消字符集,必须将插入符^
放在括号内,请参阅Negated Character Classes。在你的情况下,这将是
h[^c][^c][^c]o
现在它会找到h
,后跟任何字符不 c
,然后是另一个字符 not c
,. ..