Regular Expression ?
-
Hi all Can some one lead me for a good logic to generate the regular expression dynamically. Example: I give an input like bellow 1. Us phone no - (910)456-8970 => regular expression is: @"\(\d{3}\)\s\d{3}-\d{4}" 2. Email Id - miltoncse00@yahoo.com => string pattern=@"^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|" + @"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z]" + @"[a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$"; My Need, By getting (910)456-8970 this string i want to construct the regular expression like @"\(\d{3}\)\s\d{3}-\d{4}" and i have to do for all the string vice versa. Can some tell me some techniques or logic to incorporate. My Real Problem With Regular Expression : I have to mask the fields in website based on the pattern like usphone,emailid etc... thanks in Adavance
-
Hi all Can some one lead me for a good logic to generate the regular expression dynamically. Example: I give an input like bellow 1. Us phone no - (910)456-8970 => regular expression is: @"\(\d{3}\)\s\d{3}-\d{4}" 2. Email Id - miltoncse00@yahoo.com => string pattern=@"^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|" + @"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z]" + @"[a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$"; My Need, By getting (910)456-8970 this string i want to construct the regular expression like @"\(\d{3}\)\s\d{3}-\d{4}" and i have to do for all the string vice versa. Can some tell me some techniques or logic to incorporate. My Real Problem With Regular Expression : I have to mask the fields in website based on the pattern like usphone,emailid etc... thanks in Adavance
I doubt that you can (correctly) deduce a regex from sample data. Take the phone-number column as an example, with this data;
555-423325
What mask would the first three five's generate, and would that mask be reusable as a phone-number-mask? It gets worse, since the generated mask isn't a phone-number-mask (even if you base it on the data in that column) - it will be a mask that allows all data within that column (since that's what it's based on). The best approach would be to make a list of examples for each column, containing correct and incorrect values. Next, you base the regex on the domain of the values that you expect. Lastly, a unit-test to verify that the regex works :)
I are Troll :)
-
I doubt that you can (correctly) deduce a regex from sample data. Take the phone-number column as an example, with this data;
555-423325
What mask would the first three five's generate, and would that mask be reusable as a phone-number-mask? It gets worse, since the generated mask isn't a phone-number-mask (even if you base it on the data in that column) - it will be a mask that allows all data within that column (since that's what it's based on). The best approach would be to make a list of examples for each column, containing correct and incorrect values. Next, you base the regex on the domain of the values that you expect. Lastly, a unit-test to verify that the regex works :)
I are Troll :)
Hi thanks for your reply, The mask is not only for a corporate sites, it is for the entire web. if i specify to mask all the security No (SSN) in a page, even if i Google it also, i have to mask the SSN in the Google page as (XXXXXXXX). I have done that using ihtmlElementCollection (BHO). My problem is i know SSN format so there is no issue.But there can be any format, so just seeing one format dynamically i want to generate the regex. This question may be quiet meaningless, but we can could arrive a solution. if no one had come across like this, then i will try to generate a algorithm to achieve, but my thinking is, if already some one knows on that, then i don't want to wast my time to creating algorithm again. thanks any suggestions are greatfull Thanks
-
Hi thanks for your reply, The mask is not only for a corporate sites, it is for the entire web. if i specify to mask all the security No (SSN) in a page, even if i Google it also, i have to mask the SSN in the Google page as (XXXXXXXX). I have done that using ihtmlElementCollection (BHO). My problem is i know SSN format so there is no issue.But there can be any format, so just seeing one format dynamically i want to generate the regex. This question may be quiet meaningless, but we can could arrive a solution. if no one had come across like this, then i will try to generate a algorithm to achieve, but my thinking is, if already some one knows on that, then i don't want to wast my time to creating algorithm again. thanks any suggestions are greatfull Thanks
jasome wrote:
But there can be any format, so just seeing one format dynamically i want to generate the regex.
Your application encounters the string "8572398947". Is that my SSN (being Dutch), or my SSN + 1, or just a random number? How would you know that the string is in fact, a SSN if you cannot verify that it is?
I are Troll :)
-
jasome wrote:
But there can be any format, so just seeing one format dynamically i want to generate the regex.
Your application encounters the string "8572398947". Is that my SSN (being Dutch), or my SSN + 1, or just a random number? How would you know that the string is in fact, a SSN if you cannot verify that it is?
I are Troll :)
Hi, Good exactly you are correct, sorry for taking the SSN no instead take USPHone No like ... etc.. added to that for SSN there is option to mask based on the Field value, for example if the input/span element contain SSN then i mask that. This regex is only for unique analyzing for example if i give : user@gmail.com - we can make regular expression for all the mails, Thanks for your continuous encouragement you are most welcome to make a comment on that....
-
Hi, Good exactly you are correct, sorry for taking the SSN no instead take USPHone No like ... etc.. added to that for SSN there is option to mask based on the Field value, for example if the input/span element contain SSN then i mask that. This regex is only for unique analyzing for example if i give : user@gmail.com - we can make regular expression for all the mails, Thanks for your continuous encouragement you are most welcome to make a comment on that....
jasome wrote:
for example if i give : user@gmail.com - we can make regular expression for all the mails,
So taking this example, you take that input and generate an "email address" regex from it. Now I try to enter my email address (which is .co.uk) and whoops, it fails. Yet mine is a totally valid email address. There is absolutely no way you can make a regular expression from input data and have it work in all cases.
-
Hi, Good exactly you are correct, sorry for taking the SSN no instead take USPHone No like ... etc.. added to that for SSN there is option to mask based on the Field value, for example if the input/span element contain SSN then i mask that. This regex is only for unique analyzing for example if i give : user@gmail.com - we can make regular expression for all the mails, Thanks for your continuous encouragement you are most welcome to make a comment on that....
jasome wrote:
user@gmail.com - we can make regular expression for all the mails,
That's assuming that the computer can recognize this as a valid email-address. The fastest validation would be done over a regex. (That's recursion, right there) In other words; you don't know if the data is valid - thus any regex that's derived from it would be a good fit for the sample data, but not for the mask that you want.
I are Troll :)