string myQuery="RecordFiles/findrecords/$filter=userid eq 844427344589753 and
recordid eq 55-278-278ac";
以下是我用来验证上述查询的正则表达式。
string myRegexQueryPattern = @"^(RecordFiles/findrecords/\$filter=userid eq)\s(?<userid>\S+)((\s(and recordid eq)\s(?<recordid >\S+))|(\s*$))";
如何更正我的regEx以使我的recordId成为可选项和userId?
public static bool ValidateMyQuery(string query, Regex regex)
{
Match match = regex.Match(query);
bool status = false;
if (match.Success)
{
status = true;
}
return status;
}
现在我的ValidateMyQuery对myQuerystring返回true。但是如果我没有发送recordId,它返回false。我想修改我的正则表达式,以便在recordId时重新返回true 是空的。
如何更正我的regEx以使我的recordId成为可选项和userId?
答案 0 :(得分:0)
如果您只想声明userid在那里,您可以使用类似的内容:
string myRegexQueryPattern = @"^RecordFiles/findrecords/\$filter=.*userid eq\s\S+.*";
由于recordid是可选的,我们不关心它是否存在。
您的正则表达式建议您想要捕获值,但如果是这种情况,我会更新我的答案。