|
Posted by Bosconian on 02/13/07 13:36
"Captain Paralytic" <paul_lautman@yahoo.com> wrote in message
news:1171364086.554958.149070@s48g2000cws.googlegroups.com...
> On 13 Feb, 04:06, "Bosconian" <nob...@nowhere.com> wrote:
>> I have a textarea form field for inputting (or pasting) pairs of data.
>>
>> I need a regular expression pattern to validate each line for the
>> following
>>
>> double quote
>> number
>> double quote
>> comma
>> double quote
>> alpha string
>> double quote
>> carriage return
>>
>> The following comes close, but doesn't check for a carriage return at the
>> end of each line:
>>
>> ^"([0-9]?)+"([,]\s?\"([A-Za-z0-9]+)")*$
>>
>> For example the following would return true:
>>
>> "1","John"
>> "2","Paul"
>> "3","George"
>> "4","Ringo"
>>
>> Any suggestions would be appreciated.
>
> The ? following [0-9] means that
> "","John" will also be matched.
> Also, the * before the $ means that
> "1" will be matched
> So at the very least you want
> ^"[0-9]+"([,]\s?\"([A-Za-z0-9]+)")$
> Since a $ means "the end of the line" and since a carriage return
> signifies the end of a line, his should do. Or do you want to ensure
> that there is a carriage return at theend, even if there is only one
> line?
>
Thank you for your response and for the pattern corrections.
A trailing carriage return on the last line would be unnecessary and ignored
if present. However, any preceding pairs must have a carriage return at the
end of each line. Where in the pattern is this mandated?
I don't have the opportunity to use regular expressions consistency, but I
am anxious to learn the syntax and am grateful for your instruction.
Navigation:
[Reply to this message]
|