Re: regexp novice
| From: | Stuart Dallas | Date: | Fri, 18 May 2012 13:45:16 +0000 |
| Subject: | Re: regexp novice | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-317897@lists.php.net to get a copy of this message | ||
On 18 May 2012, at 14:41, Jim Giner wrote:
> "Stuart Dallas" <stuart@3ft9.com> wrote in message
> news:CC22E241-C1DF-48E9-BF06-8A638A356459@3ft9.com...
>> On 18 May 2012, at 14:32, Jim Giner wrote:
>>
>>> OK - I don't yet understand how this works, but it seems to work for
>>> almost
>>> all cases. The one erroneous result I get is from a value of 0040 (which
>>> I
>>> convert to 00:40 before hitting the regexp). It comes thru as Ok. If you
>>> have a fix for that I'd appreciate it - otherwise I'll have to devote some
>>> book-time to mastering this string and come up with a fix myself.
>>
>> Based on your requirements, 00:40 is completely valid. Why do you think it
>> should be invalid?
>>
> Don't know how you write the time, but I've never used a time of 00:40.
> Yes, I realize that my shorthand time string is missing a key ingredient of
> am/pm, but 12:40 would be the time in my mind regardless of the status of
> the sun. In my speccific use of this code, all times would be 'daylight'
> times so 40 minutes after minute would be a) not practical and b) still not
> a recognized time in a 12-hour format. Yes - in 24-hour formats, 00:40 is
> correct, but my initial post did reference my need of a 12-hour format
> solution.
Sounds daft to me, but they're your requirements. The "fix" is simple…
( 0 <= (int) $m[1] && 12 >= (int) $m[1] ) &&
becomes
( 1 <= (int) $m[1] && 12 >= (int) $m[1] ) &&
-Stuart
--
Stuart Dallas
3ft9 Ltd
http://3ft9.com/