Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一个复杂的字符串中一个接一个地提取字符串_Javascript - Fatal编程技术网

Javascript 在一个复杂的字符串中一个接一个地提取字符串

Javascript 在一个复杂的字符串中一个接一个地提取字符串,javascript,Javascript,我有这根绳子- ContactTrigger: execution of AfterInsert caused by: System.DmlException: Update failed. First exception on row 0 with id 0032200000AYK5AAAX; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Spouse Cannot be more than 1: [] Class.ContactTrigg

我有这根绳子-

ContactTrigger: execution of AfterInsert

caused by: System.DmlException: Update failed. First exception on row 0 with id 0032200000AYK5AAAX; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Spouse Cannot be more than 1: []

Class.ContactTriggerHelper.updateDependentData: line 309, column 1
Trigger.ContactTrigger: line 26, column 1
我需要确定此字符串是否包含字段\自定义\验证\异常,我需要提取消息“配偶不能超过1”的这一部分

这是我无法做到的

我试过这个-

      var pageErrors = saveResult.error[0].pageErrors[0].message;
                     console.log('pageErrors--->'+pageErrors);
                    var errMessage;
                    if(pageErrors.includes('FIELD_CUSTOM_VALIDATION_EXCEPTION')){
                        console.log('Inside includes');
                        console.log('pageErrors.indexOf("FIELD_CUSTOM_VALIDATION_EXCEPTION")-->'+pageErrors.indexOf('FIELD_CUSTOM_VALIDATION_EXCEPTION'));
                        console.log('pageErrors.lastIndexOf("FIELD_CUSTOM_VALIDATION_EXCEPTION")-->'+pageErrors.lastIndexOf('FIELD_CUSTOM_VALIDATION_EXCEPTION,'));
                        errMessage = pageErrors.substring(pageErrors.indexOf('FIELD_CUSTOM_VALIDATION_EXCEPTION'),pageErrors.lastIndexOf('FIELD_CUSTOM_VALIDATION_EXCEPTION,'));
                    }
你可以试试这个

FIELD_CUSTOM_VALIDATION_EXCEPTION,\s*([^:]+)
让findValue=str=>{ 返回str.match/FIELD\u CUSTOM\u VALIDATION\u EXCEPTION\s*[^:][/i } let str=`ContactTrigger:AfterInsert的执行 原因:System.DmlException:更新失败。第0行id为0032200000AYK5AAAX的第一个异常;第一个错误:字段\自定义\验证\异常,配偶不能超过1:[] Class.ContactTriggerHelper.updateDependentData:第309行第1列触发器。ContactTrigger:第26行第1列` console.logfindValuestr console.logfindValuestr[1] 让str2=`ContactTrigger:AfterInsert的执行 原因:System.DmlException:更新失败。第0行id为0032200000AYK5AAAX的第一个异常; Class.ContactTriggerHelper.updateDependentData:第309行第1列触发器。ContactTrigger:第26行第1列`
logfindValuestr2您甚至可以做一些比正则表达式更简单、更快的事情。因为您知道需要跟踪的确切错误消息,所以可以将错误字符串从错误消息的结尾拆分到行的结尾或最多:个字符。如果需要删除任何周围的空格,还可以选择对其进行修剪

因此:

const str=`ContactTrigger:执行AfterInsert 原因:System.DmlException:更新失败。第0行id为0032200000AYK5AAAX的第一个异常;第一个错误:字段\自定义\验证\异常,配偶不能超过1:[] Class.ContactTriggerHelper.updateDependentData:第309行第1列触发器。ContactTrigger:第26行第1列`; 常量错误='字段\自定义\验证\异常'; 常数ind=str.indexOfERR; 让msg=-1