繁体   English   中英

将动态字符串变量转换为string.match()的正则表达式?

[英]Converting a dynamic string variable to a regex expression for string.match()?

我有一个字符串变量被传递到称为“字母”(说)的方法check()。 因此,该字符串将是动态的。

该方法要求检查在数组列表中单独传递的单词是否仅包含“字母”中包含的字符。

我在循环中有以下内容,随着循环遍历数组,每次更改单词字符串。

word = wordArray.get(i);

if ((word.length() <= letters.length()) && (word.matches(letters))
{
    // Do something.
}

string.matches()似乎是要解决的问题,但是在上述代码不起作用的情况下,我在解决如何使用字母字符串变量作为匹配项所使用的表达式时遇到了问题。

我的想法是,我可能需要添加某些表达字符,或者转义字母字符串? (尽管运气不好,我已经玩过这个游戏了)有人能建议我如何确保单词只能包含字符串变量'letters'中的字符吗?

谢谢

你可以做

Pattern p = Pattern.compile("[" + Pattern.quote(letters) + "]*");

然后再:

if (word.length() <= letters.length() && p.matcher(word).matches());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM