jjzjj

diff_match_patch

全部标签

javascript - 当存在全局标志时,为什么 String.match() 不产生预期结果?

这个问题在这里已经有了答案:JavaScriptregularexpressionsandsub-matches(2个答案)关闭9年前。我正在尝试这场比赛'/links/51f5382e7b7993e335000015'.match(/^\/links\/([0-9a-f]{24})$/g)得到:['/links/51f5382e7b7993e335000015']当我期待的时候:['/links/51f5382e7b7993e335000015','51f5382e7b7993e335000015']在删除全局标志之前,我没有运气,我认为这不会影响我的结果!移除全局标志后,'/lin

正则表达式 : Match text NOT part of a HTML tag

我真的想要一个在node.js中可执行的正则表达式(所以没有jQueryDOM处理等,因为标签可以有不同的嵌套)匹配所有不是HTML标签或部分的文本它分成不同的组。例如我想匹配"5","ELT.","SPR","","plo","Unterricht",""," "和"plo"来自那个字符串:5ELT.SPR pioUnterricht  pio我可以保证标签中不会有“>”。我找到的解决方案是(?)[^>,但这在node.js中不起作用(可能是因为前瞻?它说“无效组”)有什么建议吗?(是的,我真的认为Regex是正确的方式,因为html可能以其他方

javascript - 路由、通用应用程序(Nodejs、React)、错误(0、_reactRouter.match)不是函数

我无法修复这个错误...我启动服务器,一切正常,因为我刷新localhost:3000然后它告诉我一个错误:TypeError:(0,_reactRouter.match)不是函数我已经安装了“react-router”:“^4.0.0”importExpressfrom'express';import{RouterContext,match}from'react-router';import{renderToString}from'react-dom/server';importReactfrom'react';importroutesfrom'./routes.js'varapp=

javascript - 尽管设置了@match 和@include 设置,Chrome 用户脚本仍会在所有页面上触发

我使用match来限制我的脚本只在一个域中运行,但chrome在每个域中运行它。我尝试了@include和@match,当我尝试安装它并在所有网站上运行时,它显示“访问所有网站上的数据”。如何在chrome中将用户脚本限制为一个域?元数据与此页面相同:http://www.chromium.org/developers/design-documents/user-scripts我的意思是://@matchhttp://*.google.com/*//@matchhttp://www.google.com/* 最佳答案 Note:th

javascript - Google-diff-match 避免显示新行?

我正在使用差异匹配http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html显示2段html之间的差异。问题是脚本将新行显示为¶有什么办法可以设置不显示吗?现在我只是删除所有\n和\r的实例,但这听起来不太好 最佳答案 正如您在文档中所见,prettyhtml函数只是开发一些很酷的ui的示例。但是,如果您将函数中的¶(¶)替换为null,该符号将消失。diff_match_patch.prototype.diff_pret

javascript - 在 javascript/jQuery 中的关联数组上执行 "Diff"?

如果我有两个关联数组,比较它们的值的最有效方法是什么?例如,给定:array1={foreground:'red',shape:'circle',background:'yellow'};array2={foreground:'red',shape:'square',angle:'90',background:'yellow'};我将如何检查一个与另一个,以便缺失或附加项是结果数组。在这种情况下,如果我想比较array2中的array1,它会返回:array3={shape:'circle'}如果我在array1中比较array2,它会返回:array3={shape:'square'

使用 val().match() 方法的 Javascript 正则表达式

我正在尝试使用以下规则验证名为phone_number的字段:第一个数字应该是3,然后是另外9个数字,所以总共10个数字示例:3216549874或者可以是7个数1234567这里有我的代码:if(!($("#"+val["htmlId"]).val().match(/^3\d{9}|\d{7}/)))missing=true;为什么不起作用:(当我将其放入在线正则表达式检查器时显示正常。 最佳答案 您应该使用测试而不是匹配,这是正确的代码:.test(/^(3\d{9}|\d{7})$/)Match会找到所有出现的情况,而test

javascript - 仅限 Chrome 错误 : Failed to execute 'scroll' on 'Window' : No function was found that matched the signature provided

我只在Chrome中遇到这个错误(在Safari/Firefox中有效):无法在“Window”上执行“scroll”:找不到与提供的签名匹配的函数。代码在内联事件中:我不明白这是什么问题。PS:注意这段代码是我在DOM渲染后得到的输出。实际代码拆分成我在服务器端模板引擎中使用的不同组件/函数,正如下面评论中指出的那样,应避免直接混合此代码。 最佳答案 也许试试scrollTo。这是支持x和y坐标的跨浏览器。http://www.w3schools.com/jsref/met_win_scrollto.asp...

javascript - 如何创建 "progressively matching"正则表达式?

我需要一个正则表达式来匹配用户键入的字符串。这有点难以解释,所以让我展示一下我的意思:它应该匹配这个字符串:“XXXX单位”,其中XXXX是任意数字。但它也应该匹配该字符串开头的任何子字符串,所以:"123""123u""123uni"也应该匹配。当然,这不应该匹配:"123xx"这看起来很简单,但我不太明白。这是我得到的最接近的:^\d+?u?n?i?t?s?...但不幸的是,它也匹配像“123us”这样的字符串。有人可以帮忙吗?它是javascript,所以我可能会因为缺少后视/前视功能而受到一些限制... 最佳答案 只需添加一

javascript - Angular 单元测试 : Error: Cannot match any routes. URL 段: 'home/advisor'

我正在我的angular4.0.0应用程序下进行单元测试,我的真实组件中的一些方法正在通过以下方式调用手动路由:method(){....this.navigateTo('/home/advisor');....}withnavigateTo是一个自定义路由方法,调用它:publicnavigateTo(url:string){this.oldUrl=this.router.url;this.router.navigate([url],{skipLocationChange:true});}我有这个路由文件:import...//Componentsanddependenciescon