Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

RegEx not behaving as expected

LEGEND ,
Aug 08, 2016 Aug 08, 2016

Hello, all,

I think I may have posted regarding this issue, before, but didn't get any response; I (unfortunately) have to try, again.

I am using a Regular Expression to map the full physical location on the HD of where the website is located.  I need this for a CFFILE tag.

The reason I'm using a RegEx instead of hard coding the location is because the location varies depending upon whether it is being used in development, staging, or production.  (Yeah, I know.. all three should be mirrors of each other - I'm working on that.  )

For example, our DEV environment needs the CFFILE tag to point to E:\ColdFusion10\cfusion\wwwroot\www\ folder.

Our staging environment needs the CFFILE tag to point to C:\ColdFusion10\cfusion\www\ folder.

Our production environment needs the CFFILE to point to F:\webdocs\cf\www\docs\ folder.

I really do NOT want to be hackish about this and use a CFIF or CFSWITCH to set the "this.webrootmapping" variable.  Besides, if anything gets changed, I'd have to go in and change the code.  Not ideal.

So, I'm using a RegEx.  I'm also setting it so that it will always point to the ROOT, no matter what sub-folder the user is in.

What I have (and isn't working for the production environment) is:

<cfset this.webrootmapping = REreplaceNoCase(ExpandPath('./'),

           '(.+[\\|\/]www([\\|\/]docs)?[\\|\/])(.+)',

           '\1',

           'all') />

What this is supposed to do is accept everything up to the "www" folder, or up to "www\docs" folder, and remove everything after that.

It's working in dev and staging; it is NOT working in production (where the root ends in "\docs\".)  The question mark should be indicating "zero or one of \docs".  But it isn't.

Any insight greatly appreciated.

V/r,

^_^

215
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

LEGEND , Aug 08, 2016 Aug 08, 2016

*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*

*HEADDESK*

It is starting to slowly kill me, the way I type it all out and then it somehow solves itself.


*headdesk*
*headdesk*
*headdesk*

I did experiment with something VERY, VERY simple, and it is now resolved.


*headdesk*
*headdesk*
*headdesk*

I will share it with you, after I'm done banging my head into my desk.


*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*

The last '+' (one or more) was replaced wi

...
Translate
LEGEND ,
Aug 08, 2016 Aug 08, 2016
LATEST

*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*

*HEADDESK*

It is starting to slowly kill me, the way I type it all out and then it somehow solves itself.


*headdesk*
*headdesk*
*headdesk*

I did experiment with something VERY, VERY simple, and it is now resolved.


*headdesk*
*headdesk*
*headdesk*

I will share it with you, after I'm done banging my head into my desk.


*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*
*headdesk*

The last '+' (one or more) was replaced with '*' (zero or more), and it worked.  Just in case anyone else runs across this problem and spends weeks or months trying to figure it out.


*headdesk*
*headdesk*
*headdesk*

I need a nap, now.


*headdesk*
*headdesk*
*headdesk*

Good night.

V/r,

^_^


*headdesk*
*headdesk*
*headdesk*

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources