草庐IT

JavaScript 通过多次出现的字母拆分字符串

我正在尝试通过出现一次或多次出现的字母来拆分字符串。例如:aaabbcapppp,将生成数组,["aaa","bb","c","a","pppp"]我有的最低效的想法是利用newArray=str.split("");并根据我的需要重建数组。我认为有更有效的解决方案。 最佳答案 像这样的东西会起作用:"aaabbcapppp".match(/(.)\1*/g)//["aaa","bb","c","a","pppp"](.)匹配第1组中捕获的任何单个字符,后跟重复零次或多次的相同字符(\1是一个反向引用,它完全匹配第1组匹配的内容)。

javascript - 使用 RegEx 排除某些字符

尽我所能,我无法获得排除空格或单引号的正则表达式。允许字符串“abc”不允许:“a'bc”、“'”、“'abc”、“'''”、“abc''”等空格也可以代替上面例子中的'假定尾随和前导空格已被删除在别处检查空字符串目标语言是javascript如果我使用SQL,我会使用PATINDEX。或者不是空格或单引号的正匹配,如果我可以否定...我试过了(只针对单引号)\w*[^']\w*^\w*[^']\w*$其他我现在忘记了请让我摆脱痛苦,这样我今晚就可以休眠了。编辑:目标字符串不会被引号包围。我想你可能会增加清晰度如果“目标语言是javascript”是错误的,那么它就是c#。我必须检查我

Javascript 正则表达式 - 开头没有空格 + 中间允许空格

我想要一个正则表达式来匹配开头没有空格的字符串。但是中间包含空格的字符串可以匹配。到目前为止,我已经在下面尝试过[^-\s][a-zA-Z0-9-_\\s]+$DebuggexDemo上面不允许在开头有空格,但也不允许在字符串的中间/结尾。请帮助我。 最佳答案 在您的第二个字符类中,\\s将匹配\和s,而不是\s.因此它不匹配空格。你应该在那里只使用\s。另外,将连字符移到末尾,否则会在字符类中创建意外范围:^[^-\s][a-zA-Z0-9_\s-]+$ 关于Javascript正则表

javascript - 如何从捆绑 .spec.js 文件中排除 webpack

我的Package.bundle读取varreqContext=require.context('./',true,/\.js$/);reqContext.keys().map(reqContext);其中基本上包括所有.js文件。我希望表达式排除任何***.spec.js文件。此处是否有排除.spec.js文件的正则表达式? 最佳答案 因为/\.js$/允许所有.js文件(因为它基本上匹配字符串末尾的.js),并且您需要允许所有.js文件在它们之前没有.spec,您需要一个具有负前瞻性的正则表达式:/^(?!.*\.spec\.j

javascript - 如何获取所有 iframe 元素?

我在加载一些外部iframe时显示加载指示器,代码如下:Loadingiframefunctionloading_iframe(){document.getElementById('loading_iframe').style.display="none";document.getElementById('loading').style.display="";document.getElementById('loading_iframe').onload=function(){document.getElementById('loading').style.display="none"

javascript - 使用javascript解析SVG转换属性

假设我们有一个SVG转换字符串:transform="translate(6,5),scale(3,3)";是否有一个灵活的正则表达式函数可以用来将其解析为可用的东西? 最佳答案 这里有一个漂亮的小代码片段,可能会满足您的需求,它应该涵盖大多数情况,以防您打算解析的字符串具有不同数量的参数:functionparse(a){varb={};for(variina=a.match(/(\w+\((\-?\d+\.?\d*e?\-?\d*,?)+\))+/g)){varc=a[i].match(/[\w\.\-]+/g);b[c.shi

javascript - 仅允许数字和 ctrl+a 、 ctrl+v 、 ctrl+c 到文本框

我试图让用户只输入数字并将控件复制并粘贴到文本框。我可以限制用户仅输入数字,但复制、粘贴对我不起作用,请帮助我解决此问题。这是我的脚本:$(".allow_only_numbers").keydown(function(e){varctrlDown=false;varctrlKey=17,vKey=86,cKey=67;if(e.keyCode===ctrlKey){ctrlDown=true;}//Allow:backspace,delete,tab,escape,enterand.if($.inArray(e.keyCode,[46,8,9,27,13,110])!==-1||//

JavaScript 正则表达式 : Can I get the last matched index or search backwards/RightToLeft?

假设我有一个字符串foobarbazfoobarbazfoobarbazfoobarbaz我想找到bar的最后一次出现,我怎样才能有效地做到这一点?我需要循环添加匹配项吗?在.NET中,我可以在JS中进行从右到左的搜索,我想我不能? 最佳答案 bar(?!.*bar)将找到字符串中的最后一个bar:bar#Matchbar(?!#butonlyifit'snotfollowedby....*#zeroormorecharactersbar#literalbar)#endoflookahead如果您的字符串可能包含换行符,请使用bar

javascript - 使用正则表达式 (regex) 替换 jQuery/JavaScript 中的选定文本

在下面的示例中,文本是使用jQuery选择的。我们如何通过摆脱其他数据来隔离货币?这种使用JavaScript的replace的尝试没有成功:varsymbol=$("div.price>h5>div.num").text().replace(/[\d.]*/,"");这是示例HTML;jQuery选择器正在工作:€12.28LowestPricePerNight 最佳答案 必须转义点,否则它会匹配每个字符,您必须设置全局修饰符:varsymbol=$("div.price>h5>div.num").text().replace(/

javascript - 找出正则表达式失败的位置

我正在尝试用JavaScript编写一个词法分析器来查找简单的特定领域语言的标记。我从一个简单的实现开始,它只是尝试匹配一行中当前位置的后续正则表达式,以确定它是否匹配某种标记格式并接受它。问题是,当这样的正则表达式中的某些内容不匹配时,整个正则表达式都会失败,所以我不知道究竟是哪个字符导致它失败。有没有办法找出导致正则表达式失败的字符串中的位置?INB4:我不是在询问调试我的正则表达式并验证其正确性。它已经是正确的,匹配正确的字符串并丢弃不正确的字符串。我只想以编程方式知道正则表达式停止匹配的确切位置,找出用户输入中不正确的字符的位置,以及其中有多少是好的。有没有办法只用简单的正则表