我正在尝试编写一个简单的 Java 函数,该函数将获取语言输入列表并查看我从数据库查询中获得的内容是否匹配。我数据库中的所有字符串都已标准化,以便于搜索。这是一个例子。
研究实验室 A 希望参与者具有以下任何语言输入(它们由竖线字符分隔|
):
{English | English, Spanish | Spanish}
换句话说,这个实验室可以接受单语英语、单语西班牙语或双语英语和西班牙语的参与者。这非常简单 - 如果他们的数据库结果返回"English"
or "English, Spanish"
,"Spanish"
我的函数将找到匹配项。
但是,我的数据库还会标记参与者是否仅对某种语言(使用~
字符)进行了最少的语言输入。
"English, ~Spanish" = participant hears English and a little Spanish
"English, ~Spanish, Russian" = participant hears English, Russian, and a little Spanish
这是我遇到麻烦的地方。我想将类似的东西"English, ~Spanish"
与"English"
和匹配"English, Spanish"
。
我正在考虑删除/隐藏带有标记的语言~
,但如果有一个研究实验室只想要{English, Spanish}
,那么"English, ~Spanish"
即使它应该匹配,也不会匹配。
我也想不出如何使用正则表达式来完成这项任务。任何帮助将不胜感激!