|
Subject: RE: [xsl] Sequence of chars not working with analyze-string From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 7 May 2006 13:56:15 +0100 |
> I am trying to parse a text doc using analyze-string. But
> when I want to retrieve the 30th to 60th chars it ignores the
> first arg and retrieves the second. For example (.{{30,60}})
.{30,60} matches any sequence of characters with a minimum length of 30 and
a maximum length of 60, and generally speaking unless specified otherwise a
regular expression will match the longest sequence of characters it can.
So it's clear why it's doing what it does. I don't have time right now to
suggest what you should be doing instead.
Michael Kay
http://www.saxonica.com/
> returns 60 chars.
> Here is the source: "Daily Appointments.txt"
> Consignee: FARR WEST - DELI
> Start Time Stop Time Load ID Order #
> Carrier Cases
> Weight Pallets Cube Vendor Name Load Type
>
> 04/01/06 06:00 04/01/06 07:30 300559 PFS*
> Door:311D Con:0104 StrrmLnCPU HOT
> 9856065
> 1,800
> 36,000 56 1,821PROFESSIONAL FOOD SYSTEMS ( ( (
> Load
> Totals 1,800
> 36,000 56 1,821
>
> 04/01/06 06:00 04/01/06 07:30 300382 DON
> STOCKLEY
> TRUCKING Door:317D Con:0104
> StrrmLnCPU HOT
> 9865900
> 206
> 2,650 11 253KINGS HAWAIIAN BAKERY ( ( (
> 9872940
> 5
> 3,780 5 270AMERICAN PIE ( ( (
>
> 9877320
> 290
> 1,813 2 86SAPUTO CHEESE USA INC ( ( (
> 9880590
> 450
> 6,831 6 298AMERICAN PIE ( ( (
>
>
> ( ( (
> 9880600
> 418
> 4,828 10 347CLAIM JUMPER RETAIL FOODS
> 9886650
> 282
> 3,036 4 145SPECIALTY BRANDS ( ( (
>
> Load
> Totals 1,651
> 22,938 38 1,399
> 04/01/06 06:00 04/01/06 07:30 300166 AFS
> Door:319D Con:0104 StrrmLnCPU HOT
> 9873530
> 630
> 4,095 6 180LAYTON DAIRY ( ~ (
>
>
> ( ~ (
> 9880740
> 1,008
> 6,300 10 297LAYTON DAIRY
>
> Using the following
> ...
> <xsl:for-each select="tokenize(unparsed-text('Daily
> Appointments.txt'),'\r\n')">
> <xsl:analyze-string select="."
> regex="(\d{{7}})\s+([0-9,]+)(.{{30,60}})">
> <xsl:matching-substring>
> <load>
> <po><xsl:value-of select="regex-group(1)"/></po>
> <cases><xsl:value-of
> select="replace(regex-group(2),',','')"/></cases>
> <vendor><xsl:value-of select="regex-group(3)"/></vendor>
> </load>
> </xsl:matching-substring>
> </xsl:analyze-string>
> </xsl:for-each>
> ...
>
> I am trying to retrieve the PO, cases, and vendor name.
>
> Thanks for the help
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Sequence of chars not wor, Joe Fawcett | Thread | RE: [xsl] Sequence of chars not wor, Florent Georges |
| Re: [xsl] Sequence of chars not wor, Joe Fawcett | Date | RE: [xsl] Re: Generating real end , Michael Kay |
| Month |