草庐IT

regex_benchmark

全部标签

javascript - 为什么当我在 RegEx 中转义 < 字符时 jslint 会报错?

代码:varfoo=/\当我转到jslint.com时然后输入,我得到:Problematline1character12:Unexpected'\'.它曾经告诉我Unexpectedescapedcharacter'但时代变了。所以我很好奇,为什么?如果你尝试varfoo=/\>/;它不在乎,这与有什么关系?? 最佳答案 如果你有两个简单的div,区别就很明显了:>JSLint不假定脚本是一个独立的文件或位于HTML文档的脚本标记内。在标记语言中,例如XUL,MXML,XAML,TVML,LZX,XHTML5或SVG,script

javascript - while 循环中 regex.exec() 赋值的更好解决方案

这里有更好的解决方案吗?我尽量避免在while中进行赋值,但仍然能够遍历匹配项并使用捕获的组。varmatch="";varCSS_URL_PATTERN=/url\s*\(\s*["|']?(.*?)\s*["|']?\)\s*/gmwhile((match=CSS_URL_PATTERN.exec(someBigCSSString))!==null){//Dostuffherepermatch…}我为这个问题添加了更多上下文,还有一个RegEx示例。 最佳答案 当我需要.exec时,我总是这样做:varre=/.../g,mat

javascript - C# Regex 性能纯相对 JS

我对JS中正则表达式的速度有很好的体验。我决定做一个小小的比较。我运行了以下代码:varstr="Aregularexpressionisapatternthattheregularexpressionengineattemptstomatchininputtext.";varre=newRegExp("t","g");console.time();for(vari=0;i结果:3888.731ms。现在在C#中:varstopwatch=newStopwatch();varstr="Aregularexpressionisapatternthattheregularexpressio

Javascript Regex替换url中的子目录

我正在尝试匹配特定目录之后的URL中的子目录:然后将目录附加到匹配的字符串。/applications/app1应该是/applications/app1/beta/applications/app2/应该是/applications/app2/beta//applications/app2/settings应该是/applications/app2/beta/settings/applications/app3?q=word应该是/applications/app3/beta?q=word我是这样写的:path=path.replace(/(\/applications\/(.*)(

javascript - 为什么 RegEx.test 会在后续调用中更改结果?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么以下从true变为false;varr=/e/gi;r.test('e');//truer.test('e');//false然后继续切换true,false,true,false......

javascript - Regex.test() 给出真假顺序?

任何人都可以解释一下,为什么本地Regex变量和非本地Regex变量有不同的输出。varregex1=/a|b/g;functionisAB1(){returnregex1.test('a');}console.log(isAB1());//trueconsole.log(isAB1());//falseconsole.log(isAB1());//trueconsole.log(isAB1());//falsefunctionisAB2(){varregex2=/a|b/g;returnregex2.test('a');}console.log(isAB2());//truecons

javascript - 如何以编程方式处理英文缩写 [Regex, JS, Ruby]

我正在捕获自然语言用户输入,我需要根据预定义的“正确”版本检查它。这是微不足道的,但我不确定如何处理英语中收缩的变化。假设我期待句子I'mpositiveyoudon'tknowwhatyou'redoing.匹配需要精确,但我不想将用户锁定在一种变体,因为那样很快就会令人沮丧。那么,我是否应该手动输入该句子的所有可能变体作为有效匹配项?像这样:"I'mpositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudonotknowwhatyou'redoing.

Javascript Regex-用相同数量的另一个字符替换字符序列

我正在尝试用JavaScript中相同数量的虚拟字符替换字符串的一部分,例如:'==Hello=='为'==~~~~~=='。已使用Perl回答了这个问题和PHP,但我无法让它在JavaScript中运行。我一直在尝试这个:txt=txt.replace(/(==)([^=]+)(==)/g,"$1"+Array("$2".length+1).join('~')+"$3");模式匹配工作正常,但替换没有-第二部分添加'~~'而不是模式匹配的长度。将“$2”放在括号内是行不通的。我该怎么做才能让它插入正确数量的字符? 最佳答案 改为使

javascript - benchmark js 的结果是什么意思?

我正在为节点使用一个BenchmarkJS版本,但我找不到任何关于如何读取结果的信息。首先,是否有一个地方详细说明了您可以从BenchmarkJS中提取的所有数据?其次,我目前在我的控制台中得到以下结果:Testx2,276,094ops/sec±0.84%(190runssampled)所有这些信息是什么意思?Test:我的test的名字,我知道那个x2,276,094ops/sec:我假设这是代码理论上可以在一秒钟内运行的平均次数?±0.84%:不知道190runssampled:基准运行代码以获得结果的次数? 最佳答案 您的问

javascript - 基准异步代码 (Benchmark.js, Node.js)

我想使用Benchmark.js模块来测试一些用node.js编写的异步代码。具体来说,我想向两台服务器(一台用Node编写,一台用PHP编写)发出约10,000个请求,并跟踪每台服务器完成所有请求所需的时间。我计划使用Benchmark编写一个简单的Node脚本来触发这些请求,但我对如何将它与异步代码一起使用感到有点困惑。通常在Node模块中,当您的异步代码完成时,或者从函数返回Promise等时,您会调用某种回调。但是对于Benchmark,从我在文档中阅读的所有内容来看,它似乎并不完全处理异步。有谁知道我应该做什么或看什么?如果需要,我可以手动编写基准测试;这似乎是一个足够常见的