我想知道是否有可能有一个正则表达式来检查字符串中是否存在0或1的单词数组。具有多个条目的异或(...)
字符串可以包含0或仅包含1的单词:
以下句子应该给出以下结果:
感谢您的帮助!
答案 0 :(得分:1)
修改强>
纯正则表达式解决方案应该是:
string words = string.Join("|", yourWordsArray);
string regex = "^(?!.*\b(" + words + ")\b.*\b(" + words + ")\b).*\b(" + words + ")\b.*$";
<强> /修改
您要问的是“查找每个字符串<1匹配”。在.Net中这很容易,因为你可以有这样的结构:
return !(Regex.Matches("your text", "your regex").Count > 1)
你的正则表达式会是这样的:`
string regex = string.Join("|", yourWordsArray);
不是所有代码中最漂亮的,但可能更糟糕