Esempio n. 1
0
    public static void AddRegularExpressionValidator(DetailsView view, int rowIndex, RegexPattern type)
    {
        string msg = "", patter = "";
        if (type == RegexPattern.Number)
        {
            patter = NUMBER;
            msg = NUMBER_MSG;
        }
        else if (type == RegexPattern.Date)
        {
            patter = DATE;
            msg = DATE_MSG;
        }
        else if (type == RegexPattern.Mobile)
        {
            patter = MOBILE;
            msg = MOBILE_MSG;
        }

        DetailsViewRow row = view.Rows[rowIndex];
        DataControlFieldCell cell = row.Cells[1] as DataControlFieldCell;
        string ctlID = cell.Controls[0].UniqueID;
        string clientID = cell.Controls[0].ClientID;
        int pos = clientID.LastIndexOf("_");
        if (pos > 0)
        {
            RegularExpressionValidator Reg = new RegularExpressionValidator();
            Reg.Text = String.Format("<p style='margin:0;'>{0}</p>", msg);
            Reg.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
            Reg.ControlToValidate = ctlID.Substring((pos + 1));
            Reg.ValidationExpression = patter;
            cell.Controls.Add(Reg);
        }
    }
Esempio n. 2
0
        public WordTokenizer(string verbsFile, bool joinVerbParts)
        {
            this._joinVerbParts = joinVerbParts;
            this._pattern = new RegexPattern(@"([؟!\?]+|[:\.،؛»\]\)\}""«\[\(\{])", " $1 ");

            if (this._joinVerbParts)
            {
                string[] tokens;

                tokens = new string[] {
                    "ام", "ای", "است", "ایم", "اید", "اند",
                    "بودم", "بودی", "بود", "بودیم", "بودید", "بودند",
                    "باشم", "باشی", "باشد", "باشیم", "باشید", "باشند",
                    "شده ام", "شده ای", "شده است", "شده ایم", "شده اید", "شده اند",
                    "شده بودم", "شده بودی", "شده بود", "شده بودیم", "شده بودید", "شده بودند",
                    "شده باشم", "شده باشی", "شده باشد", "شده باشیم", "شده باشید", "شده باشند",
                    "نشده ام", "نشده ای", "نشده است", "نشده ایم", "نشده اید", "نشده اند",
                    "نشده بودم", "نشده بودی", "نشده بود", "نشده بودیم", "نشده بودید", "نشده بودند",
                    "نشده باشم", "نشده باشی", "نشده باشد", "نشده باشیم", "نشده باشید", "نشده باشند",
                    "شوم", "شوی", "شود", "شویم", "شوید", "شوند",
                    "شدم", "شدی", "شد", "شدیم", "شدید", "شدند",
                    "نشوم", "نشوی", "نشود", "نشویم", "نشوید", "نشوند",
                    "نشدم", "نشدی", "نشد", "نشدیم", "نشدید", "نشدند",
                    "می‌شوم", "می‌شوی", "می‌شود", "می‌شویم", "می‌شوید", "می‌شوند",
                    "می‌شدم", "می‌شدی", "می‌شد", "می‌شدیم", "می‌شدید", "می‌شدند",
                    "نمی‌شوم", "نمی‌شوی", "نمی‌شود", "نمی‌شویم", "نمی‌شوید", "نمی‌شوند",
                    "نمی‌شدم", "نمی‌شدی", "نمی‌شد", "نمی‌شدیم", "نمی‌شدید", "نمی‌شدند",
                    "خواهم شد", "خواهی شد", "خواهد شد", "خواهیم شد", "خواهید شد", "خواهند شد",
                    "نخواهم شد", "نخواهی شد", "نخواهد شد", "نخواهیم شد", "نخواهید شد", "نخواهند شد"
                };

                this._afterVerbs = new HashSet<string>(new List<string>(tokens));

                tokens = new string[] {
                    "خواهم", "خواهی", "خواهد", "خواهیم", "خواهید", "خواهند",
                    "نخواهم", "نخواهی", "نخواهد", "نخواهیم", "نخواهید", "نخواهند"
                };

                this._beforeVerbs = new HashSet<string>(new List<string>(tokens));

                this._verbs = new List<string>(File.ReadAllLines(verbsFile).Reverse());
                for (int i = 0; i < this._verbs.Count; i++)
                {
                    var verb = this._verbs[i];
                    this._verbs[i] = verb.Trim().Split('#')[0] + "ه";
                }
            }
        }
Esempio n. 3
0
        public static void SendRTDeals(string DealSourceName,string Keywords)
        {
            RegexPattern rp=new RegexPattern();
            List<RegexPatternModel> lrpm = DealsDB.GetDealPetternByName(DealSourceName);
            //For Test Purpose
            //lrpm[0].TitlePattern = rp.headlinedealsTitlePattern;
            //lrpm[0].ValuePattern = rp.headlinedealsValuePattern;
            List<DealsSourceModel> ldsm = DealsDB.GetDealsSourceByName(DealSourceName);
            string DealsURL = ldsm[0].SourceURL;
            HttpWebRequest MyDealRequest = (HttpWebRequest)WebRequest.Create(DealsURL);
            MyDealRequest.Method = "GET";
            WebResponse MyDealResponse = MyDealRequest.GetResponse();
            StreamReader sr = new StreamReader(MyDealResponse.GetResponseStream(), System.Text.Encoding.UTF8);
            string result = sr.ReadToEnd();
            result = ExtractSubstring(result, lrpm[0].TitlePattern, lrpm[0].ValuePattern);
            string[] ResultArray = Regex.Split(result, " SplitFromHere");
            sr.Close();
            MyDealResponse.Close();
            StringBuilder sb = new StringBuilder();
            sb.Append("<table>");

            for (int i = 0; i < ResultArray.Length; i++)
            {
                if (ResultArray[i].ToLower().Contains(Keywords.ToLower()) &&  (lrpm[0].ExcludePattern==null?true :!ResultArray[i].ToLower().Contains(lrpm[0].ExcludePattern)))
                {
                    if(lrpm[0].ReplacementPattern!=null)
                      ResultArray[i] = Regex.Replace(ResultArray[i], lrpm[0].ReplacementPattern, DealsURL + "/" + lrpm[0].ReplacementPattern);
                    if (!sb.ToString().Contains(ResultArray[i]))
                        sb.Append("<tr><td>" + ResultArray[i] + "</td></tr>");
                }
            }
            sb.Append("</table>");
            //Send Deals Email
            if (sb.ToString() != "<table></table>")
                SendEmail.SendDealsEmail("*****@*****.**", "*****@*****.**", "Real Time Deals Alert @ "+DealSourceName, sb.ToString());
        }
Esempio n. 4
0
 public Test()
 {
     User = new RegexPattern(); //create object
 }
 public static Regex GetInstance(RegexPattern type)
 {
     return(new Regex(type.GetPattern()));
 }
Esempio n. 6
0
 private void _quickHistoryListForm_OnSelectPattern(RegexPattern regexPattern) {
     CheckQuickListSelection(_quickHistoryListForm, regexPattern, true);
 }
Esempio n. 7
0
 private void CheckQuickListSelection(QuickListForm quickListForm, RegexPattern regexPattern, bool replacePattern) {
     quickListForm.Hide();
     if(replacePattern) {
         Value = regexPattern;
         if(txtRegexPattern.Text.Length == 0)
             return;
         txtRegexPattern.Select(txtRegexPattern.Text.Length - 1, 0);
     }
     else {
         EditionHelper.Insert(txtRegexPattern, regexPattern.Value);
         RegexPatternEx regexPatternEx = regexPattern as RegexPatternEx;
         if(regexPatternEx == null || regexPatternEx.ShiftCursorLeft == 0)
             return;
         txtRegexPattern.Select(txtRegexPattern.SelectionStart - regexPatternEx.ShiftCursorLeft, regexPatternEx.SelectionLength);
     }
 }
Esempio n. 8
0
 private void btnAdd_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(txtbRegEx.Text)) return;
     var rp = new RegexPattern(txtbRegEx.Text, txtbDateTimeFormat.Text, txtbGuidFormat.Text);
     lstbRegularExpressions.Items.Add(rp);
 }
Esempio n. 9
0
        /// <summary>
        /// 获取正则表达式
        /// </summary>
        /// <param name="pattern">正则表达式</param>
        /// <returns>正则表达式</returns>
        internal static string GetPattern(RegexPattern pattern)
        {
            string regexPattern = string.Empty;
            switch (pattern)
            {
                case RegexPattern.Mobile:
                    regexPattern = RegexService.GetMobileRegex();
                    break;
                case RegexPattern.Mail139Alias:
                    regexPattern = RegexService.GetMail139AliasRegex();
                    break;
                case RegexPattern.Mobile139Alias:
                    regexPattern = RegexService.GetMobile139AliasRegex();
                    break;
                case RegexPattern.MailPassword:
                    regexPattern = RegexService.GetMailPasswordRegex();
                    break;
                case RegexPattern.MailAddress:
                    regexPattern = RegexService.GetMailAddressRegex();
                    break;
                case RegexPattern.ChinaPhone:
                    regexPattern = RegexService.GetChinaPhoneRegex();
                    break;
                case RegexPattern.ChinaIDCard:
                    regexPattern = RegexService.GetChinaIDCardRegex();
                    break;
                case RegexPattern.ZipCode:
                    regexPattern = RegexService.GetZipCodeRegex();
                    break;
                case RegexPattern.IpAddress:
                    regexPattern = RegexService.GetIpAddressRegex();
                    break;
                case RegexPattern.Url:
                    regexPattern = RegexService.GetUrlRegex();
                    break;
                case RegexPattern.FileName:
                    regexPattern = RegexService.GetFileNameRegex();
                    break;
                case RegexPattern.Path:
                    regexPattern = RegexService.GetPathRegex();
                    break;
                case RegexPattern.NumberComma:
                    regexPattern = RegexService.GetNumberCommaRegex();
                    break;
                case RegexPattern.Number:
                    regexPattern = RegexService.GetNumberRegex();
                    break;
                case RegexPattern.Chinese:
                    regexPattern = RegexService.GetChineseRegex();
                    break;
                case RegexPattern.Letter:
                    regexPattern = RegexService.GetLetterRegex();
                    break;
                case RegexPattern.LetterNumberUnderline:
                    regexPattern = RegexService.GetLetterNumberUnderlineRegex();
                    break;
                case RegexPattern.yyyyMM:
                    regexPattern = RegexService.GetYYYYMMRegex();
                    break;
                case RegexPattern.SBCCheck:
                    regexPattern = RegexService.GetSBCRegex();
                    break;
                case RegexPattern.SpNumber:
                    regexPattern = RegexService.GetSpNumberRegex();
                    break;
                case RegexPattern.VerifyCode:
                    regexPattern = RegexService.GetVerifyCodeRegex();
                    break;
            }

            return regexPattern;
        }
Esempio n. 10
0
 public void AddToFavorites(RegexPattern pattern) {
     throw new NotImplementedException();
 }
Esempio n. 11
0
 public SentenceTokenizer()
 {
     this._pattern = new RegexPattern(@"([!\.\?⸮؟]+)[ \n]+", @"$1\n\n");
 }
Esempio n. 12
0
 public HamshahriReader(string root)
 {
     this._rootFolder = root;
     this._paragraphPattern = new RegexPattern(@"(\n.{0,50})(?=\n)", "$1\n");
 }
Esempio n. 13
0
		public static void WriteModuli()
		{
			ProgramParameters parms = ProgramParameters.Instance;

			var rp = new RegexPattern(parms.Regex);
			ulong hashes_per_win = (ulong)(0.5 / rp.GenerateAllOnionPatternsForRegex().Select(t=>Math.Pow(2,-5*t.Count(q=>q!='.'))).Sum());
			ulong hashes_per_key = (CLRuntime.EXP_MAX - CLRuntime.EXP_MIN) / 2;
			ulong keys_needed = hashes_per_win / hashes_per_key;
			uint SF = 5;

			Console.WriteLine("Generating that pattern will require approximately {0:0.000} gigahashes.", hashes_per_win / 1e9);
			Console.WriteLine("That will require on average {0} public keys.", keys_needed);
			Console.WriteLine("Generating {0} keys (for safety's sake).", keys_needed * SF);

			RSAWrapper rsa = new RSAWrapper();

			StreamWriter priv_sw = new StreamWriter(parms.RSAModuliPath + ".priv");
			StreamWriter pub_sw = new StreamWriter(parms.RSAModuliPath);
			for (ulong i = 0; i < keys_needed * SF; i++)
			{
				if (i % 100 == 0) {
					Console.WriteLine("Generating key {0} of {1}...", i, keys_needed*SF);
				}
				rsa.GenerateKey((int)parms.KeySize);
				pub_sw.WriteLine(rsa.Rsa.PublicModulus.ToDecimalString());
				priv_sw.WriteLine("Public Modulus: " + rsa.Rsa.PublicModulus.ToDecimalString());
				priv_sw.WriteLine(rsa.Rsa.PrivateKeyAsPEM);
				priv_sw.WriteLine("");
			}
			pub_sw.Close();
			priv_sw.Close();
		}
Esempio n. 14
0
 public HamshahriReader(string root)
 {
     this._rootFolder       = root;
     this._paragraphPattern = new RegexPattern(@"(\n.{0,50})(?=\n)", "$1\n");
 }
Esempio n. 15
0
        /// <summary>
        /// Attempts to parse the 'RegexPatterns' from the project file.
        /// </summary>
        /// <returns></returns>
        public List <RegexPattern> GetRegexPatternSettings()
        {
            var regexPatternResults = new List <RegexPattern>();

            if (string.IsNullOrEmpty(_projectFile) || !File.Exists(_projectFile))
            {
                return(regexPatternResults);
            }

            string settingsContent;

            using (var reader = new StreamReader(_projectFile, Encoding.UTF8))
            {
                settingsContent = reader.ReadToEnd();
            }

            var regexAnonymizerSettings = new Regex(@"\<SettingsGroup Id=""AnonymizerSettings""\>(?<AnonymizerSettings>.*)\</SettingsGroup\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
            var matchAnonymizerSettings = regexAnonymizerSettings.Match(settingsContent);

            if (matchAnonymizerSettings.Success)
            {
                var anonymizerSettingsXml = matchAnonymizerSettings.Groups["AnonymizerSettings"].Value;

                var regexRegexPatterns = new Regex(@"\<Setting Id\=""RegexPatterns""\>(?<RegexPatterns>.*?)\<\/Setting\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                var matchRegexPatterns = regexRegexPatterns.Match(anonymizerSettingsXml);
                if (matchRegexPatterns.Success)
                {
                    var regexPatternsXml = matchRegexPatterns.Groups["RegexPatterns"].Value;

                    var regexRegexPattern       = new Regex(@"\<RegexPattern\>(?<RegexPattern>.*?)\<\/RegexPattern\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var matchesRegexPatternList = regexRegexPattern.Matches(regexPatternsXml);

                    var regexId            = new Regex(@"\<Id\>(?<Id>.*?)\<\/Id\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var regexDescription   = new Regex(@"\<Description\>(?<Description>.*?)\<\/Description\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var regexPattern       = new Regex(@"\<Pattern\>(?<Pattern>.*?)\<\/Pattern\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var regexIsDefaultPath = new Regex(@"\<IsDefaultPath\>(?<IsDefaultPath>.*?)\<\/IsDefaultPath\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var regexShouldEnable  = new Regex(@"\<ShouldEnable\>(?<ShouldEnable>.*?)\<\/ShouldEnable\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
                    var regexShouldEncrypt = new Regex(@"\<ShouldEncrypt\>(?<ShouldEncrypt>.*?)\<\/ShouldEncrypt\>", RegexOptions.Singleline | RegexOptions.IgnoreCase);

                    foreach (Match matchRegexPattern in matchesRegexPatternList)
                    {
                        var newRegexPattern = new RegexPattern();

                        var targetPatternXml = matchRegexPattern.Groups["RegexPattern"].Value;

                        var matchId = regexId.Match(targetPatternXml);
                        if (matchId.Success)
                        {
                            newRegexPattern.Id = matchId.Groups["Id"].Value;
                        }

                        var matchDescription = regexDescription.Match(targetPatternXml);
                        if (matchDescription.Success)
                        {
                            newRegexPattern.Description = matchDescription.Groups["Description"].Value;
                        }

                        var matchPattern = regexPattern.Match(targetPatternXml);
                        if (matchPattern.Success)
                        {
                            newRegexPattern.Pattern = matchPattern.Groups["Pattern"].Value;
                        }

                        var matchIsDefaultPath = regexIsDefaultPath.Match(targetPatternXml);
                        if (matchIsDefaultPath.Success)
                        {
                            var value = matchIsDefaultPath.Groups["IsDefaultPath"].Value;
                            newRegexPattern.IsDefaultPath = !string.IsNullOrEmpty(value) && Convert.ToBoolean(value);
                        }

                        var matchShouldEnable = regexShouldEnable.Match(targetPatternXml);
                        if (matchShouldEnable.Success)
                        {
                            var value = matchShouldEnable.Groups["ShouldEnable"].Value;
                            newRegexPattern.ShouldEnable = !string.IsNullOrEmpty(value) && Convert.ToBoolean(value);
                        }

                        var matchShouldEncrypt = regexShouldEncrypt.Match(targetPatternXml);
                        if (matchShouldEncrypt.Success)
                        {
                            var value = matchShouldEncrypt.Groups["ShouldEncrypt"].Value;
                            newRegexPattern.ShouldEncrypt = !string.IsNullOrEmpty(value) && Convert.ToBoolean(value);
                        }

                        regexPatternResults.Add(newRegexPattern);
                    }
                }
            }

            return(regexPatternResults);
        }
Esempio n. 16
0
 private void InitLoadedFavoritePatternFor(object pattern) {
     _loadedFavoritePattern = ((pattern == null) ? null : (RegexPattern) ((RegexPattern) pattern).Clone());
 }
 public UnitTest1()
 {
     userValidation = new UserValidation();
     regexPattern   = new RegexPattern();
 }
Esempio n. 18
0
        /// <summary>
        /// 正则表达式匹配,返回是否匹配成功,只匹配从头到尾的方式
        /// </summary>
        /// <param name="input">要匹配的字符串</param>
        /// <param name="pattern">正则表达式</param>
        /// <returns>true表示匹配正确,false表示匹配失败</returns>
        public static bool IsMatch(string input, RegexPattern pattern)
        {
            string regexPattern = string.Empty;

            regexPattern = RegexService.GetPattern(pattern);

            return IsMatch(input, regexPattern);
        }
Esempio n. 19
0
 public SentenceTokenizer()
 {
     this._pattern = new RegexPattern(@"([!\.\?⸮؟]+)[ \n]+", @"$1\n\n");
 }
 public Test()
 {
     regexPatterns = new RegexPattern();
 }
Esempio n. 21
0
 public bool IsMatch(string topic) => RegexPattern.IsMatch(topic);
Esempio n. 22
0
        public static string GetRegexValue(RegexPattern type)
        {
            string result = String.Empty;

            switch (type)
            {
            case RegexPattern.None:
                result = String.Empty;
                break;

            case RegexPattern.NUMBER:
                result = NUMBER;
                break;

            case RegexPattern.ALPHA:
                result = ALPHA;
                break;

            case RegexPattern.ALPHA_NUMERIC:
                result = ALPHA_NUMERIC;
                break;

            case RegexPattern.ALPHA_UNDERLINE:
                result = ALPHA_UNDERLINE;
                break;

            case RegexPattern.ALPHA_NUMERIC_UNDERLINE:
                result = ALPHA_NUMERIC_UNDERLINE;
                break;

            case RegexPattern.ALPHA_LOWER_CASE:
                result = ALPHA_LOWER_CASE;
                break;

            case RegexPattern.ALPHA_UPPER_CASE:
                result = ALPHA_UPPER_CASE;
                break;

            case RegexPattern.EMAIL:
                result = EMAIL;
                break;

            case RegexPattern.URL:
                result = URL;
                break;

            case RegexPattern.POSTAL_CODE:
                result = POSTAL_CODE;
                break;

            case RegexPattern.IP_ADDRESS:
                result = IP_ADDRESS;
                break;

            case RegexPattern.IDENTITY_CARD:
                result = IDENTITY_CARD;
                break;
            }

            return(result);
        }
Esempio n. 23
0
        public static async Task StartTwitterAPI(bool skip)
        {
            TwitterAPIDAO dao = new TwitterAPIDAO();

            /*
             * Since this is an app that does not need to store tweets/stats, we recreate the database each time.
             * Normally, you would not build/maintain the database in code (at least with .Net)
             *
             */

            if (!skip)
            {
                dao.BuildSQliteDatabase();
            }

            var appCredentials = new ConsumerOnlyCredentials(System.Configuration.ConfigurationManager.AppSettings["TwitterKey"], System.Configuration.ConfigurationManager.AppSettings["TwitterSecret"])
            {
                BearerToken = System.Configuration.ConfigurationManager.AppSettings["TwitterBearerToken"]
            };

            var appClient = new TwitterClient(appCredentials);

            /**
             * This is looping through the tweets automatically. As long as the application is running. tweets will be saved to a sqllite table.
             * The only time I have seen this fail is if I put a breakpoint within the receiver. This causes the connection to twitter to be severed.
             * Also, since this is running in a seperate process, there is no blocking the other parts of the app!
             *
             *
             *
             */
            var sampleStreamV2 = appClient.StreamsV2.CreateSampleStream();

            sampleStreamV2.TweetReceived += (sender, args) =>
            {
                bool         hasUrl   = false;
                bool         hasImage = false;
                bool         hasEmoji = false;
                RegexPattern pattern  = new RegexPattern();
                var          emojis   = pattern.emoji.Matches(args.Tweet.Text);
                foreach (System.Text.RegularExpressions.Match emj in emojis)
                {
                    hasEmoji = true;
                    string text = "INSERT INTO emojis(value) VALUES(@value)";
                    List <SQLiteParameter> InnerParamList = new List <SQLiteParameter>
                    {
                        dao.NewParameter("value", emj.Value)
                    };
                    dao.RunSQLiteCommand(text, InnerParamList);
                }


                if (args.Tweet.Entities != null)
                {
                    if (args.Tweet.Entities.Hashtags != null && args.Tweet.Entities.Hashtags.Count() > 0)
                    {
                        foreach (Tweetinvi.Models.V2.HashtagV2 hashtag in args.Tweet.Entities.Hashtags)
                        {
                            List <SQLiteParameter> InnerParamList = new List <SQLiteParameter>
                            {
                                dao.NewParameter("tag", hashtag.Tag)
                            };
                            string text = "INSERT INTO hashtags(tag) VALUES(@tag)";
                            dao.RunSQLiteCommand(text, InnerParamList);
                        }
                    }

                    if (args.Tweet.Entities.Urls != null && args.Tweet.Entities.Urls.Count() > 0)
                    {
                        hasUrl = true;
                        foreach (Tweetinvi.Models.V2.UrlV2 urlEntity in args.Tweet.Entities.Urls)
                        {
                            // No need to run string checkers we have already set hasImage.
                            if (!hasImage && (urlEntity.DisplayUrl.Contains("pic.twitter") || urlEntity.DisplayUrl.Contains("instagram")))
                            {
                                hasImage = true;
                            }

                            Uri tweetURL = new Uri(urlEntity.ExpandedUrl);
                            List <SQLiteParameter> InnerParamList = new List <SQLiteParameter>
                            {
                                dao.NewParameter("url", urlEntity.DisplayUrl),
                                dao.NewParameter("hostname", tweetURL.Host)
                            };
                            string text = "INSERT INTO urls(url, hostname) VALUES(@url, @hostname)";
                            dao.RunSQLiteCommand(text, InnerParamList);
                        }
                    }

                    if (args.Tweet.Entities.Mentions != null && args.Tweet.Entities.Mentions.Count() > 0)
                    {
                        foreach (Tweetinvi.Models.V2.UserMentionV2 mention in args.Tweet.Entities.Mentions)
                        {
                            List <SQLiteParameter> InnerParamList = new List <SQLiteParameter>
                            {
                                dao.NewParameter("name", mention.Username)
                            };
                            string text = "INSERT INTO mentions(name) VALUES(@name)";
                            dao.RunSQLiteCommand(text, InnerParamList);
                        }
                    }
                }


                List <SQLiteParameter> ParamList = new List <SQLiteParameter>
                {
                    dao.NewParameter("text", args.Tweet.Text),
                    dao.NewParameter("date", args.Tweet.CreatedAt.ToUnixTimeSeconds()),
                    dao.NewParameter("lang", args.Tweet.Lang),
                    dao.NewParameter("source", args.Tweet.Source),
                    dao.NewParameter("like", args.Tweet.PublicMetrics.LikeCount),
                    dao.NewParameter("retweet", args.Tweet.PublicMetrics.RetweetCount),
                    dao.NewParameter("hasUrl", hasUrl),
                    dao.NewParameter("hasImage", hasImage),
                    dao.NewParameter("hasEmoji", hasEmoji)
                };
                string CommandText = "INSERT INTO tweets(text, date, lang, source, like, retweet, hasUrl, hasImage, hasEmoji) VALUES(@text, @date, @lang, @source, @like, @reTweet, @hasUrl, @hasImage, @hasEmoji)";
                dao.RunSQLiteCommand(CommandText, ParamList);
            };

            await sampleStreamV2.StartAsync();
        }
Esempio n. 24
0
 private void QuickRegexPatternsTipsListForm_OnSelectPattern(RegexPattern regexPattern) {
     CheckQuickListSelection(_quickRegexPatternsTipsListForm, regexPattern, false);        
 }
Esempio n. 25
0
 private Regex DecryptIfEncrypted(RegexPattern pattern)
 {
     return(new Regex(!_arePatternsEcrypted ? pattern.Pattern : AnonymizeData.DecryptData(pattern.Pattern, _encryptionKey), RegexOptions.IgnoreCase));
 }
Esempio n. 26
0
        private Dictionary<string, object> SerializeRegexPattern(RegexPattern regexPattern)
        {
            Dictionary<string, object> regexDict = new Dictionary<string, object>();
            regexDict.Add(_PATTERN, regexPattern.Pattern);

            if (regexPattern.Flags == null || !regexPattern.Flags.Any())
                return regexDict;

            StringBuilder flagsBuilder = new StringBuilder();
            foreach (RegexFlagEnum flag in regexPattern.Flags)
            {
                if (flagsBuilder.Length > 0)
                    flagsBuilder.Append(_FLAG_DELIMITER);

                flagsBuilder.Append(flag.ToString());
            }

            regexDict.Add(_FLAGS, flagsBuilder.ToString());

            return regexDict;
        }
Esempio n. 27
0
        private void _epasaRegexButton_Click(object sender, EventArgs e)
        {
            try {
                //var unescapedSafeAnsiCharPattern =
                //	RegexPattern.With.Set(RegexPattern.With.Literal(SafeUnescapedAnsiCharSet));

                var unescapedSafeAnsiCharPatterns = SafeUnescapedAnsiCharSet
                                                    .Select(c => RegexPattern.With.Literal(c.ToString()));

                var escapedSafeAnsiCharPatterns = SafeEscapedAnsiCharSet
                                                  .Select(c => RegexPattern.With.Literal("\\").Literal(c.ToString()));

                var safeAnsiCharPattern = RegexPattern.With.Choice.EitherAny(
                    unescapedSafeAnsiCharPatterns.Concat(escapedSafeAnsiCharPatterns).ToArray()
                    );


                var safeAnsiStringPattern = new RegexPattern(safeAnsiCharPattern)
                                            .Repeat.OneOrMore;

                var pascal64StartPattern = RegexPattern.With
                                           .Set(RegexPattern.With.Literal(Pascal64StartCharSet, true));

                // account name needs to omit brackets!

                var pascal64StringPattern =
                    new RegexPattern(pascal64StartPattern)
                    .Set(RegexPattern.With.Literal(Pascal64CharSet, true)).Repeat.InRange(2, 63);


                var hexNibblePattern = RegexPattern.With
                                       .Set(RegexRange.OfMany(Tuple.Create('0', '9'), Tuple.Create('a', 'f')));

                var hexBytePattern = RegexPattern.With
                                     .Group(
                    new RegexPattern(hexNibblePattern).Repeat.Exactly(2)
                    );

                var hexStringPattern = new RegexPattern(hexBytePattern).Repeat.OneOrMore;

                var base58CharPattern = RegexPattern.With
                                        .Set(RegexPattern.With.Literal(Base58CharSet));

                var base58StringPattern = new RegexPattern(base58CharPattern).Repeat.OneOrMore;

                var integerPattern = RegexPattern
                                     .With.Digit.Repeat.OneOrMore;

                var accountNamePattern = RegexPattern
                                         .With.NamedGroup("AccountName", pascal64StringPattern);


                var accountNumberPattern = RegexPattern
                                           .With.NamedGroup("AccountNumber", integerPattern)
                                           .Literal("-")
                                           .NamedGroup("Checksum", RegexPattern.With.Digit.Repeat.Exactly(2));

                var pasaPattern = RegexPattern
                                  .With.Choice.Either(accountNamePattern, accountNumberPattern);

                var payloadPattern = RegexPattern.With
                                     .Choice.EitherAny(
                    RegexPattern.With.NamedGroup("ASCIIPayload", RegexPattern.With.Literal("\"").Group(safeAnsiStringPattern).Literal("\"")).Repeat.Optional,
                    RegexPattern.With.NamedGroup("HexPayload", RegexPattern.With.Literal("0x").Group(hexStringPattern)).Repeat.Optional,
                    RegexPattern.With.NamedGroup("Base58Payload", base58StringPattern).Repeat.Optional
                    );

                var publicPayloadPattern = RegexPattern.With
                                           .Literal("[")
                                           .NamedGroup("NoEncryption", payloadPattern).Repeat.Optional
                                           .Literal("]", true);

                var receiverPayloadPattern = RegexPattern.With
                                             .Literal("(")
                                             .NamedGroup("ReceiverEncrypted", payloadPattern).Repeat.Optional
                                             .Literal(")");

                var senderPayloadPattern = RegexPattern.With
                                           .Literal("<")
                                           .NamedGroup("SenderEncrypted", payloadPattern).Repeat.Optional
                                           .Literal(">");

                var aesPayloadPattern = RegexPattern.With
                                        .Literal("<")
                                        .NamedGroup("AESEncrypted", payloadPattern).Repeat.Optional
                                        .Literal(">")
                                        .Literal(":")
                                        .NamedGroup("Password", safeAnsiStringPattern);

                var extendedAddressPattern = RegexPattern.With
                                             .Choice.EitherAny(
                    publicPayloadPattern,
                    receiverPayloadPattern,
                    senderPayloadPattern,
                    aesPayloadPattern
                    );

                var epasaChecksumPattern = new RegexPattern(hexBytePattern)
                                           .Repeat.Exactly(2);

                var epasaPattern = RegexPattern
                                   .With.AtBeginning
                                   .NamedGroup("PASA", pasaPattern)
                                   .RegEx(new RegexPattern(extendedAddressPattern)).Repeat.Optional
                                   .Group(
                    RegexPattern.With
                    .Literal(":")
                    .NamedGroup("EPASAChecksum", epasaChecksumPattern)
                    .AtEnd
                    ).Repeat.Optional;


                _standardTextBox.Clear();
                _standardTextBox.AppendText(epasaPattern.ToString());

                Match subregex;
                {
                    //subregex = new Regex(unescapedSafeAnsiCharPattern, RegexOptions.None).Match("77-44[0x1234]:121f");
                    _standardTextBox.AppendLine("const string safeAnsiCharPattern = \"" + safeAnsiCharPattern + "\"");
                    _standardTextBox.AppendLine("const string safeAnsiStringPattern = \"" + safeAnsiStringPattern + "\"");
                    _standardTextBox.AppendLine("const string pascal64StartPattern = \"" + pascal64StartPattern + "\"");
                    _standardTextBox.AppendLine("const string pascal64StringPattern = \"" + pascal64StringPattern + "\"");
                    _standardTextBox.AppendLine("const string hexNibblePattern = \"" + hexNibblePattern + "\"");
                    _standardTextBox.AppendLine("const string hexBytePattern = \"" + hexBytePattern + "\"");
                    _standardTextBox.AppendLine("const string hexStringPattern = \"" + hexStringPattern + "\"");
                    _standardTextBox.AppendLine("const string base58CharPattern = \"" + base58CharPattern + "\"");
                    _standardTextBox.AppendLine("const string base58StringPattern = \"" + base58StringPattern + "\"");
                    _standardTextBox.AppendLine("const string integerPattern = \"" + integerPattern + "\"");
                    _standardTextBox.AppendLine("const string accountNamePattern = \"" + accountNamePattern + "\"");
                    _standardTextBox.AppendLine("const string accountNumberPattern = \"" + accountNumberPattern + "\"");
                    _standardTextBox.AppendLine("const string pasaPattern = \"" + pasaPattern + "\"");
                    _standardTextBox.AppendLine("const string payloadPattern = \"" + payloadPattern + "\"");
                    _standardTextBox.AppendLine("const string publicPayloadPattern = \"" + publicPayloadPattern + "\"");
                    _standardTextBox.AppendLine("const string receiverPayloadPattern = \"" + receiverPayloadPattern + "\"");
                    _standardTextBox.AppendLine("const string senderPayloadPattern = \"" + senderPayloadPattern + "\"");
                    _standardTextBox.AppendLine("const string aesPayloadPattern = \"" + aesPayloadPattern + "\"");
                    _standardTextBox.AppendLine("const string extendedAddressPattern = \"" + extendedAddressPattern + "\"");
                    _standardTextBox.AppendLine("const string epasaChecksumPattern = \"" + epasaChecksumPattern + "\"");
                    _standardTextBox.AppendLine("const string epasaPattern = \"" + epasaPattern + "\"");
                }

                _standardTextBox.AppendLine("");



                var regex = new Regex(epasaPattern, RegexOptions.None);

                var result = regex.Match("77-44[0x123]:121f");
                result = regex.Match("77-44[0x123]");
                result = regex.Match("77-44[B58xdf]:121f");
                result = regex.Match("77-44");
                result = regex.Match("account-name");
                result = regex.Match("account-name:abcd");
                _standardTextBox.AppendLine(result.ToString());
            } catch (Exception error) {
                ExceptionDialog.Show(this, error);
            }
        }