--bcaec50163bdd2aecd04aa519916
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Aug 12, 2011 at 9:27 AM, Gavin Kistner <phrogz / me.com> wrote:

> On Aug 12, 2011, at 07:28 AM, Glen Holcomb <damnbigman / gmail.com> wrote:
> [...]
>
> > Now as to why I'm looking for the \s before and the \s or $ after. It
> > turns out that some of the user agent strings are in a format like
> "\"Custom
> > Agent\"Mozilla ...\""\n
>
> So, after a little digging on Stackoverflow I decided to try an explicit
> lookahead. For what ever reason it works.
>
> /\s(".*?")(?|$)/ matches where /\s(".*?")(\s|$)/ won't.
>
>
> It sounds like you have a solution, but don't understand it. I'd like to
> help you understand it, but I don't understand what you're trying to match.
> The sample string you provide above does not match your regex (and obviously
> so, as there is never whitespace before a quote).
>
> Could you please provide a single string that you're matching against, and
> describe what you are trying to match?
>


Sure,

What I'm trying to do is parse our Apache log files.  A fairly standard
sample line is as follows:

10.132.18.15 - - [21/Apr/2010:12:22:36 -0600] "GET
/images/2010_front_sprite.jpg HTTP/1.1" 304 - "http://
cnm.edu/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648;
InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"

I'm pulling out encapsulated data, splitting the line on the separator then
putting the encapsulated data back.  I was using /".*?"/ to grab the quoted
strings but I discovered lines with the following format in the log file:

12.172.30.9 - - [21/Apr/2010:13:21:04 -0600] "GET
/clickheat/click.php?sdex&x0&yC2&w09&b
fari&crandom・イーチ・イーイア・イーイーアー・イーアウコイアコーエ・イーヌヘヤューカーー・イーィヘトヤゥ
ネヤヤミッアョア「 イーー アーー 「コッッョッ「 「ワ「テユチワ「ヘッオョー
ィヘサ ユサ ノ ヘ マモ リ アー゜カサ ュゥ チラヒッオウアョイアョク ィヒネヤヘフャ 
ヌゥ ヨッエョーョエ モッオウアョイアョアー ニマネコメアキキワ「サ「

ヤ    ッ「ョェソ「ッ ョ  モ ノ    
        コ

ッワィ「ョェソ「ゥィワ、ゥッ

ノ        ョ

ノ              
     ョ  ノ ノ     
           ワ   ョ
 ノ  ァ     ョ


ニ コ

アーョアウイョアクョアオ ュ ュ ロイアッチッイーアーコアイコイイコウカ ューカーーン 「ヌナヤ
ッッイーアー゜゜ョ ネヤヤミッアョア「 ウーエ ュ 「コッッ
ョッ「 「ヘッエョー ィサ ヘモノナ カョーサ ラ ホヤ オョアサ モヨアサ ョホナヤ テフメ
イョーョオーキイキサ ョホナヤ テフメ ウョーョーエオーカョウーサ ョホナヤ テフメ アョアョエウイイサ ョホナヤ テフメ ウョーョーエオーカョカエクサ
ノミョアサ ョホナヤ テフメ ウョーョエオーカョイアオイサ ョホナヤ テフメ ウョオョウーキイケゥ「

   

アーョアウイョアクョアオ ュ ュ   ウーエ ュ
 「ヘッエョー ィサ ヘモノナ カョーサ ラ ホヤ オョアサ モヨアサ
ョホナヤ テフメ イョーョオーキイキサ ョホナヤ テフメ ウョーョーエオーカョウーサ ョホナヤ テフメ アョアョエウイイサ ョホナヤ テフメ
ウョーョーエオーカョカエクサ ノミョアサ ョホナヤ テフメ ウョーョエオーカョイアオイサ ョホナヤ テフメ ウョオョウーキイケゥ「

 ノ     

アーョアウイョアクョアオ ュ ュ   ウーエ ュ 


チ   ノ     ッワィ「ョェソ「ゥィソ、ゥッ  ョ

ノァ    ッワィ「ョェソ「ゥィワ、ゥッ  ッワィ「ョェソ「ゥィソ、ゥッ  
ョ

ュュオーアカウイーエオアケケアカュュ