jjzjj

javascript - Javascript 中的正则表达式没有它应该的那么贪婪?

我编写了一个简单的代码来捕获字符串中的特定组:/[a-z]+([0-9]+)[a-z]+/gi(nchars,mdigts,kchars).code:varmyString='aaa111bbb222ccc333ddd';varmyRegexp=/[a-z]+([0-9]+)[a-z]+/gi;varmatch=myRegexp.exec(myString);console.log(match)while(match!=null){match=myRegexp.exec(myString);console.log(match)}结果是:["aaa111bbb","111"]["ccc3

javascript - 在 Javascript 中提取子字符串的更简单方法

我正在尝试从Javascript中的字符串中提取与给定模式匹配的子字符串。示例:varclassProp='activecategory_games',match=classProp.match(/category_[a-z]+\b/),category;if(match!==null&&match.length>0){category=match[0];}有没有更简单的方法来实现这个目标?单线,最好? 最佳答案 category前要不要有\b?如果匹配失败,您可以通过提供一个空数组来缩短它;category=(classProp.

javascript - 使用 .match 和 .search 的区别

我为coderbyte使用了以下代码:functionVowelCount(str){//codegoesherereturnstr.match(/[aeiou]/gi).length;}//keepthisfunctioncallhere//toseehowtoenterargumentsinJavaScriptscrolldownprint(VowelCount(readline()));我理解大部分代码,除了以下部分:正斜杠和方括号的作用是什么?gi有什么作用?search()和match()有什么区别?我应该在什么情况下使用什么? 最佳答案

javascript - JavaScript 正则表达式中 'y' 粘性模式修饰符的用途是什么?

MDN为JavaScriptRegExp引入了“y”粘性标志。这是一个documentationexcerpt:ysticky;matchesonlyfromtheindexindicatedbythelastIndexpropertyofthisregularexpressioninthetargetstring(anddoesnotattempttomatchfromanylaterindexes).还有一个例子:vartext='Firstline\nSecondline';varregex=/(\S+)line\n?/y;varmatch=regex.exec(text);co

javascript匹配()错误

我正在尝试计算pre元素的行数,我正在使用它:varnumlines=$('#mypreelement').text().match(/\n\r?/g).length+1;它可以工作,但在某些情况下我会遇到错误Error:$('#mypreelement').text().match(/\n\r?/g)isnull这只发生在某些页面上,但这些页面与其工作的页面没有任何不同,当然除了内容之外...为什么? 最佳答案 这意味着它无法匹配它们中的任何一个,并且null没有length属性。所以试试这个...if(varlines=$('#

javascript - 不能将 String.prototype.match 用作 Array.some 的函数吗?

这行不通:vars='^foo';console.log(['boot','foot'].some(s.match));UncaughtTypeError:String.prototype.matchcalledonnullorundefined但是这样做:vars='^foo';console.log(['boot','foot'].some(function(i){returni.match(s)}));这是为什么?我以某种方式想象String.prototype.match函数太“原始”之类的,但究竟是为什么呢?因为我没有使用ES2015,所以第二个版本看起来很冗长。有替代方案吗

javascript - 如何使用正则表达式仅查找数字值而不混合字母值?

我有一个等式:+8x2+10y2-99+5=99。我只需要分开数值而不混合字母字符。我使用正则表达式str.match(/[0-9]/g)获取所有数值,但对于上面的等式,结果应该是-99,5,99。 最佳答案 您可以使用可选的连字符和wordboundaries仅匹配给定表达式中的数字:varstr='+8x2+10y2-99+5=99';varmatches=str.match(/-?\b\d+\b/g);document.writeln(''+matches.join(',')+'');输出:-99,5,99RegExDemo

JavaScript/jQuery - 从元素的 id 中获取一个整数

来自以下标记。SomewhereSomewhereelse有哪些选项可以使用jQuery选择器和JavaScript来获取ID中的整数?例如。$("#my-diva").click(function(){$(this).id//...somehowgrabnfrom"link-n"alert(n);}); 最佳答案 你可以试试:varn=$(this).attr('id').match(/link-(\d+)/)[1];这会获取id属性,与模式link-(\d+)匹配(这意味着link-后跟一个或多个digits),然后提取第一个匹

javascript - 迷失在翻译中 - C# 正则表达式到 JavaScript 正则表达式

我在将工作中的C#正则表达式转换为JavaScript的正则表达式实现时遇到了一些问题。这是正则表达式:([a-z]+)((\d+)([a-z]+))?,?当用于"water2cups,flour4cups,salt2teaspoon"时,您应该得到:[["water","2cups","2","cups"]["flout","4cups","4","cups"]["salt","2teaspoon","2","teaspoon"]]...确实如此。在C#中。但不是在JavaScript中。我知道实现之间存在一些细微差别。要让这个表达式在JavaScript中工作,我缺少什么?更新我像

javascript - Sequelize : Find All That Match Contains (Case Insensitive)

我想使用sequelize.js查询模型以获取包含约束的记录。我该怎么做?这是我现在拥有的:Assets.findAll({limit:10,where:["asset_namelike?",'%'+request.body.query+'%']}).then(function(assets){returnresponse.json({msg:'searchresults',assets:assets});}).catch(function(error){console.log(error);});但我收到以下错误:{error:operatordoesnotexist:charact