span8
span4
我试图在表达式求值转换器中使用FindRegEx功能函数。
有人知道正确的语法吗?
关于这一点的文档看起来有点少/没有具体的例子。
..........................
我在搜索[Category]
使用正则表达式:0[0-1][0-9]
我尝试了以下方法,但运气不佳:
@FindRegEx(@ value(一类),0(0 - 1)[0 - 9])
............................
任何想法-非常欢迎
.............................
问候
霍华德L '
我发现在函数名和后面的圆括号之间有多余的空格。FME函数语法不允许在函数名和后面的括号之间插入空格。
错误的语法
@FindRegEx(@ value(一类),0(0 - 1)[0 - 9])
正确的语法
@FindRegEx(@ value(一类),0(0 - 1)[0 - 9])
同时,正则表达式有一个前导空间。它作为语法是有效的,但我不认为您打算设置一个包含前导空格的正则表达式。
如果您发布的表达式是ExpressionEvaluator中的实际参数设置,尝试删除多余的空间。
@FindRegEx(@ value(一类),0(0 - 1)[0 - 9])是正确的语法。
@FindRegEx返回你正在寻找的文本的起始位置,如果没有匹配的正则表达式,返回-1,即。如果类别= abc012abc,@FindRegEx(@ value(一类),0(0 - 1)[0 - 9])将返回3.。
1 spatialmary,
感谢您的回答——但是我的查询实际上并不是关于任何特定的regex表达式本身——这并不重要。
是的,我还知道StringSearcher和其他转换器也可以使用regex——它们非常有用。
.............
我的问题是关于表达式求值转换器中的FindRegEx功能函数需要使用的语法——语法是什么?有这样的例子吗?特别是从字段中提取值的例子。
..............
问候
霍华德L '
嗨@howard_l有一些你用正则表达式的上下文是很有用的,你想解决什么问题?如果您想测试包含特定数字的属性,然后您可能会发现在正则表达式中使用StringSearcher更容易——我倾向于使用这个转换器。
使用StringSearcher转换器,您可以在“Search in”字段中指定要测试的属性,然后输入正则表达式,通过匹配或不匹配的端口输出特性。
取决于您想要做什么,您可能想要扩展正则表达式来限制您正在搜索的模式必须出现在测试值中的位置,例如
^ 0[0 - 9][0 - 9]将“通过”价值012,但不是价值1012 - ^限制开始
^ 0[0 - 9][0 - 9]将“通过”价值012美元,但不是值0121 - $限制结束
但这取决于你想做什么。
©2019安全亚搏在线软件公司|法律