草庐IT

es匹配查询

全部标签

javascript - 在 JavaScript 正则表达式匹配中移动索引

我有这个正则表达式可以从文本中提取双字/[A-Za-z]+\s[A-Za-z]+/g还有这个示例文本玛丽有一只小羊羔我的输出是这样的[0]-玛丽有;[1]-一点点;而我的预期输出是这样的:[0]-玛丽有;[1]-有一个;[2]-一点点;[3]-小羊羔我怎样才能实现这个输出?据我了解,搜索索引移至第一场比赛的末尾。我怎样才能将它后移一个字? 最佳答案 滥用String.replace函数我使用了一个小技巧使用replace功能。由于replace函数循环匹配并允许我们指定函数,因此可能性是无限的。结果将在output中。varoutp

javascript - 忽略正则表达式匹配中的第一个字符

我需要在开始时忽略正则表达式中的>。我的正则表达式:/(>(.+)(?=))/igm匹配以下内容:我如何告诉它忽略开头的>?Here是regexr.com上的正则表达式。 最佳答案 可能的解决方法是匹配非>字符:[^>]+(?=)regex101demo或者您在代码本身中获取每个结果的子字符串。 关于javascript-忽略正则表达式匹配中的第一个字符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

javascript - 在同一行中多次匹配字符串模式

我想在字符串中找到特定的模式。模式:(\{\$.+\$\})匹配示例:{$test$}我遇到的问题是文本在同一行上有2个匹配项。它返回一个匹配项。示例:这是一个{$test$}内容{$anothertest$}这将返回1个匹配项:{$test$}content{$anothertest$}它应该返回2个匹配项:{$test$}和{$anothertest$}注意:我使用的是Javascript 最佳答案 问题是当您使用.+时,您的正则表达式(\{\$.+\$\})本质上是贪婪的,这就是它匹配最长匹配的原因{$和}$。要解决此问题,请

javascript - 只得到最后一场比赛? .匹配(单词)

我有一个正则表达式可以从文本区域获取@user。当用户使用@输入内容时,我明白了。我的问题是,我只想获得最后一场比赛,而不是所有比赛。例如:用户类型:@joshand@marie=wanttoshow@marie@joshloves@marieand@anne=show@anne我的代码显示如下:@josh,@marie,@anne我可以只获取最后的@something条目吗?(当用户输入时)varword=/@(\w+)/ig;$("#comment").on("keyup",function(){varcontent=$(this).val();varname=content.ma

javascript - 在 ES6 中将数组解构为函数参数的语法

有很多文档介绍如何解构在Javascript2015/ES6/ECMAScript2015中作为函数参数传递的对象,函数如下:functionfoo({a,b}){console.log(`a:${a},b:${b}`);}但是如何解构一个数组参数呢? 最佳答案 解构数组参数的正确语法是:functionfoo([a,b]){console.log(`param1:${a},param2:${b}`);}可以这样调用:foo(['first','second']);//Willoutput://param1:first,param2

javascript - 带括号的 ES6 箭头函数

这个问题在这里已经有了答案:CurlyBracketsinArrowFunctions(3个答案)Whydoesn'tmyarrowfunctionreturnavalue?(1个回答)关闭6年前。我在我的代码中遇到了一个小问题,这让我有点困惑,希望有人能解释为什么它会这样做。代码1sendText(){returnthis.http.get('/api').map((response:Response)=>response.json());}代码2sendText(){returnthis.http.get('/api').map((response:Response)=>{resp

Javascript 全局匹配与捕获组

这个问题在这里已经有了答案:HowdoyouaccessthematchedgroupsinaJavaScriptregularexpression?(23个回答)关闭6年前。谁能告诉我为什么第二个片段在使用g标志时没有捕捉到“组”?"123".match(/(\d{1})(\d{1})/)//returns["12","1","2"]"123".match(/(\d{1})(\d{1})/g)//returns["12"](where's1and2?)console.log("123".match(/(\d{1})(\d{1})/))//returns["12","1","2"]co

javascript - ES6 super() 在构造函数中实际上做了什么?

!你好,friend们。我有这个小类继承结构classPoint{constructor(x,y){this.x=x;this.y=y;}toString(){return'('+this.x+','+this.y+')';}}classColorPointextendsPoint{constructor(x,y,color){super(x,y);this.color=color;}toString(){returnsuper.toString()+'in'+this.color;}}letnewObj=newColorPoint(25,8,'green');它编译为thisjsfi

javascript - ES6 导出和导入名称函数?

我有一些功能,我想将它们保存在外部js文件中。例如。在functions.js中vardouble=function(x){returnx+x;}export{double};然后在我的主js文件中:importdoublefrom'./functions';...double(2)我收到这个错误:UncaughtTypeError:(0,c.default)isnotafunctionatbundle.min.js:44当我读到第44行时:(0,_functions2.default)(2);有什么想法吗?我错过了什么? 最佳答案

javascript - ES6 类中的箭头与经典方法

有什么理由写ES6方法的经典语法吗?classMyClass{myMethod(){this.myVariable++;}}当我使用myMethod()作为某些事件的回调时,我必须写这样的东西(在JSX中)://Anonymousfunction.onClick={()=>{this.myMethod();}}//Orbindthis.onClick={this.myMethod.bind(this)}但是如果我将方法声明为箭头函数:classMyClass{myMethod=()=>{this.myVariable++;}}我只能写(在JSX中):onClick={this.myMe