Просто используйте DOMDocument-> loadHTML () и выполняйте его. Алгоритм анализа XML в формате libxml довольно хорош и быстр, и, вопреки распространенному мнению, не задушивает искаженный HTML.
Вы можете использовать Builders.Filter.Regex
.
public async Task<Entity> GetEntityIdByOriginalEmail(string originalEmail)
{
var collection = GetCollection();
var filter = Builders<Entity>.Filter.Regex("x", new BsonRegularExpression(originalEmail, "i"));
return await collection.Find(filter).FirstOrDefaultAsync();
}