Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
Does the VBScript_RegExp_55.RegExp object support conditionals?
According to http://www.regular-expressions.info/refflavors.html .NET allows for conditionals using the (?(if)then|else) structure, and I thought that the VBScript RegExp object used the .NET flavor of RegEx. But when I try to use it, the object returns an error message. When I try to do the following: objRegExp.Pattern = ^(<)?test(?(1)|)$ I get the following error message: Method 'Test' of object 'IRegExp2' failed I am trying to use RegEx conditionals to ensure that a string with an opening bracket has a closing bracket. So the RegEx above would accept test or <test, but it would not accept <test or test. I have looked all over for documentation on the VBScript=RegExp_55.RegExp flavor of RegEx, but have had little success. Any help would be greatly appreciated. Thank you. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
http://msdn.microsoft.com/en-us/libr...1x(VS.85).aspx
That's a link to the Regular Expression Syntax for VBScript. It appears that conditionals are not supported. Too bad. That would have been incredibly useful. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
On Wed, 8 Oct 2008 08:46:31 -0700, Lazzaroni
wrote: Does the VBScript_RegExp_55.RegExp object support conditionals? According to http://www.regular-expressions.info/refflavors.html .NET allows for conditionals using the (?(if)then|else) structure, and I thought that the VBScript RegExp object used the .NET flavor of RegEx. But when I try to use it, the object returns an error message. When I try to do the following: objRegExp.Pattern = ^(<)?test(?(1)|)$ I get the following error message: Method 'Test' of object 'IRegExp2' failed I am trying to use RegEx conditionals to ensure that a string with an opening bracket has a closing bracket. So the RegEx above would accept test or <test, but it would not accept <test or test. I have looked all over for documentation on the VBScript=RegExp_55.RegExp flavor of RegEx, but have had little success. Any help would be greatly appreciated. Thank you. The VBScript regex object uses the Javascript flavor. --ron |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
Without using regular expressions, does this do what you want?
If Variable Like "[!<]*[!]" or Variable Like "<*" Then -- Rick (MVP - Excel) "Lazzaroni" wrote in message ... Does the VBScript_RegExp_55.RegExp object support conditionals? According to http://www.regular-expressions.info/refflavors.html .NET allows for conditionals using the (?(if)then|else) structure, and I thought that the VBScript RegExp object used the .NET flavor of RegEx. But when I try to use it, the object returns an error message. When I try to do the following: objRegExp.Pattern = ^(<)?test(?(1)|)$ I get the following error message: Method 'Test' of object 'IRegExp2' failed I am trying to use RegEx conditionals to ensure that a string with an opening bracket has a closing bracket. So the RegEx above would accept test or <test, but it would not accept <test or test. I have looked all over for documentation on the VBScript=RegExp_55.RegExp flavor of RegEx, but have had little success. Any help would be greatly appreciated. Thank you. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
Rick:
That is correct, but within a larger string. I am looking for unclosed brackets using a data validation application that uses rules written in RegEx. It checks the contents of cells in Excel, based on a unique column identifier. Thanks. Thomas |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
Ron:
Too bad it doesn't use the .NET flavor, which is much more robust. Thanks. |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
Okay, but if I understand your larger goal (checking to ensure multiple
left/right brackets in a text string are paired), this (again, non-RegEx) code might work for you... If UBound(Split(Variable, "<")) = UBound(Split(Variable, "")) And _ Not Variable Like "*<[!]<*" And Not Variable Like "*<[!]<*" Then -- Rick (MVP - Excel) "Lazzaroni" wrote in message ... Rick: That is correct, but within a larger string. I am looking for unclosed brackets using a data validation application that uses rules written in RegEx. It checks the contents of cells in Excel, based on a unique column identifier. Thanks. Thomas |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Regular Expression Conditionals (?(if)then|else) in VBA?
On Wed, 8 Oct 2008 12:09:02 -0700, Lazzaroni
wrote: Ron: Too bad it doesn't use the .NET flavor, which is much more robust. Thanks. I'm not sure exactly what you want to do, but "<test|(^|[^<])test(?!)" might match what you wrote for a specific string, so long as it doesn't include embedded delimiters. --ron |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Can someone help me with this regular expression? | Excel Discussion (Misc queries) | |||
Help with regular expression | Excel Programming | |||
Regular Expression | Excel Discussion (Misc queries) | |||
Regular Expression for cell address | Excel Programming | |||
Regular expression searching problem | Excel Programming |