草庐IT

regex-negation

全部标签

javascript - Regex.prototype.exec 在搜索的第二次迭代中返回 null

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭6年前。用例我想在一个字符串中搜索多个匹配项。每个匹配最终都链接到对象数组中的对象属性。找到匹配项后,该匹配项将替换为对象中的另一个属性。问题是代码将始终在第二个匹配项上返回null。测试用例这是我正在使用的测试用例。为了简化问题,我只是将所有匹配项替换为数字5,但请注意,最终代码会将匹配项替换为一个变量值。测试代码下面是我用来测试和调试问题的代码。有趣的是,如果我更改varstr='5+QUESTION_2',QUESTION_2会成功替换为5。本质上

javascript - Regex 只匹配 it 和 its,不匹配 it's

我正在尝试获取一个正则表达式来匹配单词it、its和it's。我正在使用\b来匹配单词,但它似乎只是匹配字符。我怎样才能让它匹配除空格以外的任何内容?到目前为止,这是正则表达式:\b(it|it's|its)\b。我怎样才能让它与它、它是和它的词完全匹配? 最佳答案 这个会起作用:\bit(?:'?s)?\b您的模式不适用于it's因为在交替中项目it(首先测试)在之前成功它是根本没有经过测试。你也可以写\b(it's|it|its)\b。 关于javascript-Regex只匹配it

javascript - JS : How to add negative numbers in javascript

这个问题在这里已经有了答案:HowdoIaddanintegervaluewithjavascript(jquery)toavaluethat'sreturningastring?(11个答案)关闭8年前。假设我有变量ex1等于-20和变量ex2等于50。我尝试在javascript中将它添加为alert(ex1+ex2);但它会提醒-20+50。我真的很困惑。感谢您的帮助,尽管这可能是一个非常愚蠢的问题。

Javascript 字符串 regex/.*/gm 不会一次捕获所有行

为什么javascript替换字符串函数会这样做?"aaa\nbbb\nccc".replace(/.*/gm,".")//result="..\n..\n.."butexpectedwas:".\n.\n.""aaa\nbbb\nccc".replace(/^.*/gm,".")//result=".\n.\n."->OK!!!"aaa\nbbb\nccc".replace(/.*$/gm,".")//result="..\n..\n.."butexpectedwas:".\n.\n."我做错了什么? 最佳答案 让我以相反的顺序解

javascript - 我的 RegEx 模式允许在电子邮件中使用双 "@"

刚来的各位好我正在学习JavaScriptRegExp规则。我已经写了电子邮件验证模式。但不幸的是,它在示例中允许使用双“@”。请帮助我改进它。^(?:\s|(?:[a-z]))(?:[a-zA-Z0-9]+.)+@(?:[a-zA-Z])+.[a-z]+\s+还有截图可用: 最佳答案 您的正则表达式允许第二个@的原因是.字符:^(?:\s|(?:[a-z]))(?:[a-zA-Z0-9]+.)+@(?:[a-zA-Z])+.[a-z]+\s+^它允许任何字符。只需使用\.将其转义,使其仅包含点。

javascript - JS : regex for numbers and spaces?

我正在使用happyJS并使用下面的正则表达式进行电话验证phone:function(val){return/^(?:[0-9]+$)/.test(val);}但是这只允许数字。我希望用户能够像输入空格一样23823845383知道为什么return/^(?:[0-9]+$)/.test(val);没有成功吗? 最佳答案 这是我建议的解决方案:/^(?=.*\d)[\d]+$/.test(val)(?=.*\d)断言输入中至少有一位数字。否则,只有空格的输入可以匹配。请注意,这不会对数字的数量施加任何限制(仅确保至少有1位数字),

javascript - 如何使用正则表达式替换指定字符串以外的所有内容

为此,我一直在stackoverflow中查找,但我没有任何运气。我要使用的字符串是“xbananay”,其中“x”和“y”可以是任意长度的字母或数字的任意组合。所以我的字符串可以只是“qrstbananag”,但也可以是“abcbanana12345”。我想使用,并且只使用,javascript的替换函数来替换除“banana”之外的所有内容。我已经有一些可以找到香蕉的正则表达式,但是当我想找到其他所有东西时,替换功能将按预期替换我正在寻找的东西。示例:varfullString="qrstbananag"varstrippedBanana=fullString.replace(/(

javascript - 包含前后空格的三个字母和两个数字的 RegEx 字符串

两个简单的问题:三个字母和两个数字前后有空格的RegEx字符串是什么(即“LET12”)?您是否碰巧知道任何好的RegEx资源/工具? 最佳答案 要获得好的资源,试试这个website和程序RegexBuddy.您甚至可以使用这些网站自行找出问题的答案。开始你需要这样的东西:/^[a-zA-Z]{3}\s+[0-9]{2}$/但具体细节取决于您的要求。您自己学习如何使用正则表达式然后编写正则表达式而不是仅仅复制此处的答案可能是一个更好的主意。小细节大不同。示例:什么是“信件”?只是A-Z还是外国字母?小写呢?什么是“数字”?只是0-

javascript - JqxChart给出错误Error : Invalid negative value for <rect> attribute height ="-1"

我正在使用JqxPanel、JqxDocking和JqxChart。JqxPanel包含工作正常的停靠窗口。当我曾经将JqxChart放入窗口时,Chrome给出错误错误:标签处的属性高度=“-1”(重复2次)的负值无效请有人能在这方面帮助我JavaScriptdevicechart.jsvarDevicesgenerateData=function(){vardevicedata=newArray();vardeviceNames=["Working","GPSAntenna","PowerRemoved","SIMProblem","Servicing","Damaged"];va

javascript - Node/Javascript 中的 RegEx - 如何获取模式匹配边界?

目前,我通过find()在Javascript/Node中使用正则表达式,这适用于查找模式的开头。但我也希望能够找出模式的结束位置。这可能吗? 最佳答案 如果您使用RegExp.exec()方法,您可以获得所需的信息。varpattern=/\d+\.?\d*|\.\d+/;varmatch=pattern.exec("thenumberis7.5!");varstart=match.index;vartext=match[0];varend=start+text.length;/\d+\.?\d*|\.\d+/等同于newRegE