全部展开/折叠 IsRegEx  - 脚本和图表函数 在该页面上  
                IsRegEx()  返回指定文本是否为有效正则表达式。
                该函数执行大小写敏感的正则表达式操作。您也可以用变种 IsRegExI()  来作为替代,执行不区分大小写的正则表达式操作。
                语法:    
                IsRegEx 
			( expr [, debug] ) 
                
                返回数据类型:    双
                
                    参数 
                     
                    
                     
                    
                    
                        
                     
                    
                        
                            expr 
                             
                            字符串表达式,包含要评估的正则表达式。 
                         
                        
                            debug 
                             
                            可选参数。如果为该参数指定了任何值,表达式会返回一个文本提示,概述如何修复无效的正则表达式。 
                         
                     
                
 
                
                    函数示例 
                     
                    
                     
                    
                    
                        
                     
                    
                        
                            IsRegEx('[a-z]') 
                             
                            返回 -1  (true)。 
                         
                        
                            IsRegEx(']0-1[', 1) 
                             
                            此示例返回一条错误信息,并提示更正无效的正则表达式]0-1[ 。 
                         
                        
                            
                                IsRegEx('[a-z') 
                             
                            返回 0  (false)。由于未指定 debug  参数,因此不会显示错误信息。 
                         
                     
                
 
                适用场景 
                您可以使用 IsRegEx()  测试您编写的正则表达式在 Qlik Sense  中是否有效。例如,您可以在应用程序中加载一个输入文本的表格,并以正则表达式的形式评估文本的有效性。
                
                    例 1 - 将正则表达式的有效性加载到数据模型中 
                    加载脚本和结果 
                            概述
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            加载脚本
                            [Expression Validity]:
	Load
		*,
		IsRegEx(reg_exp) as validity_no_hint,
		IsRegEx(reg_exp,1) as validity_with_hint
		;
Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`; 
                            结果
                            加载数据并打开工作表。创建新表并将这些字段添加为维度:
                            
                                
reg_exp 
                                 
                                
                                    validity_no_hint 
                                    
                                 
                                
                                    validity_with_hint 
                                    
                                 
                             
                            
                                结果表 
                                 
                                 
                                 
                                
                                    
                                 
                                
                                    
                                        ([a-z)(0-9)+ 
                                        0 
                                        -1 
                                     
                                    
                                        
                                            [a-z]+ 
                                         
                                        
                                            -1 
                                         
                                        提示文本(自动生成) 
                                     
                                    
                                        
                                            \$|¢(0-9) 
                                         
                                        
                                            -1 
                                         
                                        提示文本(自动生成) 
                                     
                                    
                                        abcdefg|[0-7 
                                        0 
                                        -1 
                                     
                                 
                            
 
                          
                 
                
                    例 2 - 仅将有效的正则表达式加载到数据模型中 
                    加载脚本和结果 
                            概述
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            加载脚本
                            [Regular Expressions]:
Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`
WHERE
IsRegEx(reg_exp)=True()
; 
                            结果
                            加载数据并打开工作表。创建新表并将该字段添加为维度:
                            
                            
                            [a-z]+  和 \$|¢(0-9)  是有效的正则表达式,因此已加载到数据模型中。([a-z)(0-9)+  和 abcdefg|[0-7  不是有效的正则表达式,因此未加载到数据模型中。
                          
                 
                
                    示例 3 - 图表表达式 
                    图表表达式和结果 
                            概述
                            在这个示例中,我们将一组输入字符串加载到数据模型集,并将它们添加到一个数据表中,同时还有两个计算维度,用于评估正则表达式的有效性。两个计算维度以不同的方式传递相同的信息。
                            打开 数据加载编辑器 ,并将以下加载脚本添加到新部分。 
                            加载脚本包含一个字段,reg_exp ,包含输入字符串,这些字符串可能是也可能不是有效的正则表达式。这个字段包含在一个名为 Regular Expressions  的表格中。
                            加载脚本
                            [Regular Expressions]:
Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`; 
                            结果
                            执行以下操作:
                            
                                
                                    加载数据并打开工作表 。新建表格。将 reg_exp  作为维度 添加。
                                 
                                
                                    下一步,在添加以下计算维度:
                                    =IsRegEx(reg_exp) 
                                    
                                    这是一个基本的图表表达式,如果输入是有效的正则表达式,则显示 -1  (true);如果不是,则显示 0  (false)。
                                 
                                
                                    添加另一个计算维度:
                                    =if(IsRegEx(reg_exp), 'Valid regex', 'Invalid regex') 
                                    
                                    这是一个条件表达式,可提供输入有效性的更多细节。
                                 
                             
                            
                                结果表 
                                 
                                 
                                 
                                
                                    
                                 
                                
                                    
                                        ([a-z)(0-9)+ 
                                        0 
                                        Invalid regex 
                                      [a-z]+ -1 Valid regex   \$|¢(0-9) -1 Valid regex   abcdefg|[0-7 0 Invalid regex