自动任意位置+;Javascript正则表达式

自动任意位置+;Javascript正则表达式,javascript,regex,rpa,automationanywhere,Javascript,Regex,Rpa,Automationanywhere,在使用JS脚本从过去2天无法处理的文本中提取邮件时,我遇到了一个“无效字符错误” 我使用对象克隆从web应用程序中获取文本,并将其传递给变量,稍后我将传递给JS脚本 当然,我的JS脚本,我检查过了,它可以工作: var args = WScript.Arguments; var pattern = \w+@\w+.\w; var result = /pattern/.exec(args); WScript.StdOut.WriteLine(result); 首先,让我们将其分解并调试

在使用JS脚本从过去2天无法处理的文本中提取邮件时,我遇到了一个“无效字符错误”

我使用对象克隆从web应用程序中获取文本,并将其传递给变量,稍后我将传递给JS脚本

当然,我的JS脚本,我检查过了,它可以工作:

var args = WScript.Arguments;

var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);

WScript.StdOut.WriteLine(result);

首先,让我们将其分解并调试it模块。

第一个模块:对象克隆

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
对象克隆非常有助于构建可靠性,而这种可靠性是通过仔细选择属性实现的,在您的示例中,您选择了Path、DOMXPath和HTML标记 这是一个很好的做法,以确定独特的属性,因此产生高精度,其中一些属性取决于上下文 例如,在登录页面中,某些属性包括:

优先级1:路径、HTML ID、内部文本

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
优先级2:DOMXPath,HTMLValue

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
您可以选择添加您认为对您的上下文来说可能是唯一的属性

strResult
是否为您提供了预期值?如果是,让我们继续

第二个模块:运行脚本

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
接受两个参数
$strResult$
$mail$

当然,我的JS脚本,我检查过了,它可以工作:

var args = WScript.Arguments;

var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);

WScript.StdOut.WriteLine(result);
您已经确认JS模块也可以正常运行


如果您已经验证了前两个模块的结果,我认为脚本、参数中可能存在无效字符,请检查所使用的正则表达式。该模式不应该包含在字符串
”中吗

=====================

编辑:

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
我想重新创建这个问题,并给您提供所需的结果,但我不知道您对Javascript的预期输入和输出。然而,就我对您的javascript的理解而言,我已经在Automation Anywhere中编译并执行了这个脚本,并且工作得非常完美

JavaScript

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
运行脚本

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address

输入参数

输出参数


首先,让我们将其分解并调试it模块。

第一个模块:对象克隆

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
对象克隆非常有助于构建可靠性,而这种可靠性是通过仔细选择属性实现的,在您的示例中,您选择了Path、DOMXPath和HTML标记 这是一个很好的做法,以确定独特的属性,因此产生高精度,其中一些属性取决于上下文 例如,在登录页面中,某些属性包括:

优先级1:路径、HTML ID、内部文本

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
优先级2:DOMXPath,HTMLValue

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
您可以选择添加您认为对您的上下文来说可能是唯一的属性

strResult
是否为您提供了预期值?如果是,让我们继续

第二个模块:运行脚本

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
接受两个参数
$strResult$
$mail$

当然,我的JS脚本,我检查过了,它可以工作:

var args = WScript.Arguments;

var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);

WScript.StdOut.WriteLine(result);
您已经确认JS模块也可以正常运行


如果您已经验证了前两个模块的结果,我认为脚本、参数中可能存在无效字符,请检查所使用的正则表达式。该模式不应该包含在字符串
”中吗

=====================

编辑:

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address
我想重新创建这个问题,并给您提供所需的结果,但我不知道您对Javascript的预期输入和输出。然而,就我对您的javascript的理解而言,我已经在Automation Anywhere中编译并执行了这个脚本,并且工作得非常完美

JavaScript

var args = WScript.Arguments;

if (args.length > 0)
{  
    var val=0;
     var str=args.item(0);
    var ary = str.split(",");
    //WScript.Echo(ary.length);

    // for loop in case there are multiple parameters passed
     for (var i=0; i < ary.length; i++)
     {


            //Takes the input passed as parameter
            var input = (ary[i]);

            // Uses the Match() Method to look for an email address in input string
            var result = input.match(/\w+@\w+\.com/); 

            //returns the email address
     }

  WScript.StdOut.WriteLine(result);
}
运行脚本

        //Takes the input passed as parameter
        var input = (ary[i]);

        //Declares the pattern used
        var pattern = /\w+@\w+\.com/

        // Uses the Exec() Method to look for a match
        var result = pattern.exec(input); 

        //returns the email address

输入参数

输出参数


您能解决这个问题吗?您好,很抱歉,我们的答复太晚了,但我们有国定假日,我无法访问AAE。不,当我使用纯js检查脚本是否正常时,它不起作用,但当我将其实现为AAE时,它会抛出如上所述的错误。希望您喜欢您的假期,关于javaScript代码,我可以知道.exec(args)做什么吗?您能告诉我$stresult$的值是多少吗?exec()正在查找字符串“args”如果有什么东西符合模式。在这种情况下,strResult等于:John Doe,高级账单分析师部门1R3市场物流位置007美国纽约罗森代尔1-525-677-7187JRdoe@gmail.comWere你们能解决这个问题吗?您好,很抱歉,迟了回答,但我们有国定假日,我无法访问AAE。不,当我使用纯js检查脚本是否正常时,它不起作用,但当我将其实现为AAE时,它会抛出如上所述的错误。希望您喜欢您的假期,关于javaScript代码,我可以知道.exec(args)做什么吗?您能告诉我$stresult$的值是多少吗?exec()正在查找字符串“args”如果有什么东西符合模式。在这种情况下,strResult等于:John Doe,高级账单分析师部门1R3市场物流位置007美国纽约罗森代尔1-525-677-7187JRdoe@gmail.comI我通过正确克隆对象获得了全部价值。我认为将变量传递给JS脚本有问题,VBS也有同样的问题。我的意思是,当我硬编码脚本时,它工作正常,但当我试图通过AAE传递任何变量时,它会抛出一个错误:/Clint你花了这么多的时间和精力来解释它的工作原理,而不是仅仅键入一个答案“试试这个
”,我一直面临的问题是我正在将字符串传递给JS,我想/*var input=WScript.Arguments*/将返回整个字符串