Subscribe Bookmark RSS Feed

How to match number in parentheses?

new-jmper

Community Trekker

Joined:

Jun 23, 2011

The task is quite simple: extract number from a pair of parentheses in a string.

For example: "3" from "Abc_Def_Gh(3)_Ijk"

But I get "(3)" with formula Regex(:String_Column, "\(([0-9])\)").

So the questions is that how can I specify where the match start. Any pointer to more detailed JMP Regex document are welcome.

Thanks,

Dong


1 ACCEPTED SOLUTION

Accepted Solutions
Solution

You need a second argument with a replace pattern. Otherwise Regex() returns the result of the search.

Try something like this. Should retrieve integer of any length but only if inside parantheses.

my_string = "Abc_Def_Gh(12)_Ijk_45";

Num( Regex( my_string, "\((\d+)\)", "\1" ) );

2 REPLIES
Solution

You need a second argument with a replace pattern. Otherwise Regex() returns the result of the search.

Try something like this. Should retrieve integer of any length but only if inside parantheses.

my_string = "Abc_Def_Gh(12)_Ijk_45";

Num( Regex( my_string, "\((\d+)\)", "\1" ) );

new-jmper

Community Trekker

Joined:

Jun 23, 2011

Many thanks! I missed the optional <format>.

     Regex(source, regular expression, <format>, <IGNORECASE>);

Dong