草庐IT

javascript - 从范围中排除某些字符 - javascript 正则表达式

只验证单词最简单的正则表达式(我认为)/^\w+$/我想从中排除数字和_(因为它现在接受aa10aa和aa_aa,我想拒绝它们)我觉得可以通过/^[a-zA-z]+$/这意味着我必须采取与之前不同的方法。但是如果我想从这个范围中排除任何字符怎么办假设我不允许k、K、p、P或更多。有没有办法在不改变范围的情况下在范围内添加排除列表? 最佳答案 要从[a-zA-Z]中排除k或p,您需要使用否定先行断言。(?![kpKP])[a-zA-Z]+必要时使用anchor。^(?:(?![kpKP])[a-zA-Z])+$它在匹配每个字符之前检查

Javascript 正则表达式(负)lookbehind 在 firefox 中不起作用

我需要修改以下javascript正则表达式,因为其中的negativelookbehind会在firefox中引发错误:content=content.replace(/(?![^)(?:[\"])([^"]*?)(?)/g,'„$1“');有没有人有想法并且可以帮助我? 最佳答案 2020年7月1日更新从FireFox78版本开始,RegExp终于支持lookbehinds,dotAlls标志、Unicode转义序列和命名捕获,请参阅ReleaseNotes:NewRegExpengineinSpiderMonkey,addin

javascript - 使用 RegExp 匹配括号中的数字然后递增它

我一直在尝试找到一种方法来匹配Javascript字符串中的数字,该数字在字符串末尾被括号括起来,然后递增它。假设我有一个字符串:varname="ItemName(4)";我需要一个RegExp来匹配(4)部分,然后我需要递增4,然后将其放回字符串中。这是我目前的正则表达式:\b([0-9]+)$\b这个正则表达式不起作用。此外,我不知道如何提取检索到的整数并将其放回字符串中的相同位置。谢谢。 最佳答案 replace方法可以将一个函数作为它的第二个参数。它获取匹配项(包括子匹配项)并返回替换字符串。其他人已经提到括号需要转义。"

Javascript 正则表达式挂起(使用 v8)

我正在使用这个正则表达式来获取文件中标签的内容。varregex=newRegExp("((?:.|\\s)*)");这会导致v8引擎无限期挂起。现在,如果我使用newRegExp("([\s\S]*)"),一切都很好。有人知道为什么第一个花费的时间太长吗? 最佳答案 这对最后一次关闭后出现的长空格序列造成灾难性的回溯标签。考虑主题字符串以100个空格结尾的情况。首先,它将它们全部与.匹配在交替的左侧。失败是因为没有结束标记,因此它尝试将最后一个字符与\s匹配反而。这也失败了,因此它尝试将倒数第二个空格匹配为\s最后一个空格为..失

javascript - 解析字符串 : extracting words and phrases [JavaScript]

我需要在以空格分隔的术语列表中支持精确的短语(用引号引起来)。因此,用空格字符拆分相应的字符串已经不够了。例子:input:'foobar"loremipsum"baz'output:['foo','bar','loremipsum','baz']我想知道这是否可以通过单个RegEx来实现,而不是执行复杂的解析或拆分和重新连接操作。如有任何帮助,我们将不胜感激! 最佳答案 varstr='foobar"loremipsum"baz';varresults=str.match(/("[^"]+"|[^"\s]+)/g);...返回您要

javascript -/regex/Literals 总是 RegExp 对象吗?

基本上,我的问题是关于Javascript如何处理正则表达式文字。对比数字、字符串和bool值,其中文字是原始数据类型,相应的数字、字符串和bool对象存在无缝类型转换,是RegExp对象的正则表达式文字匿名实例,或者这是正则表达式被视为原始数据的情况无缝类型转换为RegExp的数据?“ThecompleteReferenceJavascript,2ndedition,PowellandSchneider(MH)”自相矛盾——在一个地方,作者说/regex/在需要时自动转换为RegExp,而在另一个地方,他们说/regex/是只不过是RegExp的一个实例!编辑:请提供可靠来源的引用

javascript - 在 javascript 中是否有类似 PHP 的 preg_replace_callback() 的东西?

我想做的是str.replace(pattern,callback),不仅仅是str.replace(pattern,replace_pattern),可以用javascript实现吗? 最佳答案 为什么,是的,您完全可以这样做:str.replace(pattern,function(){...})。这是一些文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_f

JavaScript 正则表达式 - 仅两个 [a-z] 后跟三个 [0-9]

我有一个简单的正则表达式:[A-z]{2}[0-9]{3})$/g在以下内容中:regForm.submit(function(){if($.trim($('#new-usr').val()).match(/([A-z]{2}[0-9]{3})$/g)){alert('No');returnfalse;}});这是正确的阅读类似'ab123'的内容。发出警报和'ab1234'没有。然而,'abc123'仍在抛出警报。我需要它,所以它只在只有2个字母后跟三个数字时才会发出警报。 最佳答案 试试/^[A-z]{2}[0-9]{3}$/g

javascript - 正则表达式否定匹配

我似乎无法弄清楚如何编写执行以下操作的正则表达式(在Javascript中使用):匹配第4个字符之后的字符不包含“GP”的所有字符串。一些示例字符串:EDAR-匹配!EDARGP-不匹配EDARDTGPRI-不匹配ECMRNL-匹配我喜欢这里有一些帮助... 最佳答案 使用零宽度断言:if(subject.match(/^.{4}(?!.*GP)/)){//Successfulmatch}解释:"^#Assertpositionatthebeginningofthestring.#Matchanysinglecharactertha

javascript - 用 jQuery/JavaScript 替换 , 的最后一个索引

我想用and替换字符串中逗号(,)的最后一个索引。例如。a,b,c和'a,bandc'例如q,w,e和q,wande 最佳答案 DEMOlastIndexOf找到传入的参数字符串的最后一个索引。varx='a,b,c';varpos=x.lastIndexOf(',');x=x.substring(0,pos)+'and'+x.substring(pos+1);console.log(x);你也可以使用这个功能functionreplace_last_comma_with_and(x){varpos=x.lastIndexOf(',