Re: Help on regex script..
"valery_vi" <[email protected]>
| Newsgroups | gmane.comp.windows.autoit.user |
|---|---|
| Message-ID | <[email protected]> |
About e-mail. I found this nice pattern $Pattern = '[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z](?i)' $RegExResult = StringRegExp($array[1], $Pattern, 1) It works with ARegExp script, too. Valery --- In [email protected], "valery_vi" <shehrer1@...> wrote: > > Florent, > > I'm not expert in regexp but maybe it will be helpful to use regexp > without grouping parenthethis '(...)' > > > Column 1 : 9 numbers with first number = 1 (example : 100000058) > $RegExResult = StringRegExp($array[1], '[1][0-9]{8}', 1) > > Column 2 : 10 numbers with first number = 0 (example : 060254589) > > Column 3 : 10 numbers with first number = 0 (example : 060254589) > $RegExResult = StringRegExp($array[1], '[0][0-9]{9}', 1) > > > Column 4 : valid email address > It is expert's case. > ;-( > > > Valery > > --- In [email protected], "Florent Gilain" > <florent.gilain@> wrote: > > > > Hi all, > > > > I have to create a script that will load a file containing lines > separated > > by tabulation. > > Then, i need to verify data format using Regular expression; but > i'm unable > > to understand how it works in AutoIT...i have read the help file and > > tutorial, but it seems i missed something... > > > > File would contain : > > > > Column 1 : 9 numbers with first number = 1 (example : 100000058) > > Column 2 : 10 numbers with first number = 0 (example : 060254589) > > Column 3 : 10 numbers with first number = 0 (example : 060254589) > > Column 4 : valid email address > > > > Example of file containing data : > > > > CODE_TIERS TELEPHONE GSM EMAIL > > 100000002 0955480155 0906604855 me@ (valid line) > > 1000000042 0955480101 091242847 himothercompany.com > (invalid > > line) > > > > > > Here is what i have tryed : > > > > $file = FileOpen("test.csv", 0) > > > > ; Check if file opened for reading OK > > If $file = -1 Then > > > > MsgBox(0, "Error", "Unable to open file.") > > Exit > > EndIf > > > > $line_number = 0 > > > > ; Read in lines of text until the EOF is reached > > While 1 > > $line = FileReadLine($file) > > If @error = -1 Then ExitLoop > > $line_number = $line_number+1 > > MsgBox(0, "Line read :", $line) > > > > $array = StringSplit($line, Chr(9), 1) > > MsgBox(0, "Line number " & $line_number & " / Column 1 :", > > $array[1]) > > $RegExResult = StringRegExp($array[1], '([0]{1}[0-9]{8})', 1) > > If @error == 0 Then > > MsgBox(0, "Line number " & $line_number & " / Column 1 : KO", > $array[1]) > > EndIf > > > > MsgBox(0, "Line number " & $line_number & " / Column 2 :", > > $array[2]) > > $RegExResult = StringRegExp($array[2], '([0]{1}[0-9]{9})', 1) > > If @error == 0 Then > > MsgBox(0, "Line number " & $line_number & " / Column 2 : KO", > $array[2]) > > EndIf > > > > MsgBox(0, "Line number " & $line_number & " / Column 3 :", > > $array[3]) > > $RegExResult = StringRegExp($array[3], '([0]{1}[0-9]{9})', 1) > > If @error == 0 Then > > MsgBox(0, "Line number " & $line_number & " / Column 3 : KO", > $array[3]) > > EndIf > > > > MsgBox(0, "Line number " & $line_number & " / Column 4 :", > > $array[4]) > > $RegExResult = StringRegExp($array[4], > > '(^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a- > zA-Z0-9]+) > > *)\.([A-Za-z]{2,})$)', 1) > > If @error == 0 Then > > MsgBox(0, "Line number " & $line_number & " / Column 4 : KO", > $array[4]) > > EndIf > > > > Wend > > > > FileClose($file) > > > > Any idea of what i missed ? > > > > Thanks > > > > Florent > > >