草庐IT

javascript - 正则表达式匹配字符串末尾的数字

我正在尝试使用正则表达式匹配字符串末尾的数字。例如,字符串可能如下所示:varfoo='101*99+123.12';//wouldmatch123.12varbar='101*99+-123';//wouldmatch-123varstr='101*99+-123.';//wouldmatch-123.这是我到目前为止得到的,但如果没有小数点,它似乎匹配整个字符串:foo.match(/\-?\d+.?\d+?$/);我的意思是:\-?:可选的“-”符号\d+:1个或多个数字.?:可选小数点\d+?:可选的小数点后一位或多位$:匹配字符串末尾我错过了什么?

javascript - 执行 JavaScript 正则表达式替换时如何转义捕获组 $N 后跟整数?

据我了解,在JavaScript中,您可以执行正则表达式替换引用以捕获组,如下所示:>"HelloWorld1234567890".replace(/Hello(World)(1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,"What'sup$1");"What'supWorld"这一切都很好。但是,如果我想引用第1组,然后紧接着是“1”怎么办?说我要看什么“What'supWorld1”。所以我会写:>"HelloWorld1234567890".replace(/Hello(World)(1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,"What'sup

javascript - JavaScript 如何检测正则表达式?

我正在编写一个JS解析器,我想知道如何区分正则表达式(/lookup/g)和简单除法(bar/baz/g).JavaScript识别正则表达式的规则是什么? 最佳答案 您想查看Section7.8.5在ECMA规范中(带注释的版本目前是最新的,但请始终检查latestPDFfromtheECMA)。还要记住,JavaScript正则表达式不能为空。//始终是单行注释的开始。还值得一提的是,切勿在正则表达式文字前插入分号。切线,空JavaScript正则表达式看起来像/(?:)/。Furtherdiscussion.

javascript - FireFox 无效的正则表达式组

我有以下在chrome中运行良好的正则表达式但它在FireFox中不起作用生成语法错误InvalidRegexGroup:bld=txt.split(/(?我试过逃跑:使用/(?但它给出了同样的错误。我无法找出这个问题的原因。 最佳答案 如你所见here,截至目前,并不是每个浏览器/JavaScript环境都支持后视。因此,如果您想支持所有浏览器(包括旧版本),您实际上不能依赖该功能。因为你只想匹配除:和字符串中的第一个:之外的0+个字符,你可以使用s.match(/^[^:]*:/)参见regexdemo.JS:console.l

JavaScript 字符串替换为正则表达式并作为参数运行

在我阅读的有关此功能的书籍中,我似乎得到了相互矛盾的建议。我想知道是否有人可以澄清。例如NicholasZakas指出函数参数具有格式的签名function(match,pos,originalText)(P139:Web开发人员专业JavaScript第二版:Wrox)他接着说,当正则表达式有一个匹配项时,函数将传递三个参数(如上)。当有多个捕获组时,每个匹配的字符串作为参数传入,最后两个位置是position和originalText...然后我们来看看DougCrockfords,JavaScript:好的部分。(P90):他再次规定语法为string(searcValue,re

javascript - 这个函数可以用正则表达式重写吗?

我想重新格式化并验证用户是否提供了有效的比利时企业编号。因为输入可以是下面所有的例子:BE0123.321.123BE0123.321.123BE01233211230123.321.123123.321.123123321123我编写了一个函数来验证输入并将其重新格式化为“显示”版本(BE0123.123.123)和“代码”版本(123123123)。这个函数看起来像这样。formatAndValidateEnterpriseNumber=enterpriseNumber=>{if(enterpriseNumber===undefined||!enterpriseNumber||(e

javascript - ASP.NET 正则表达式验证器(密码强度)

我有一个具有以下表达式的验证控件:(?=(.*\\d.*){2,})(?=(.*\\w.*){2,})(?=(.*\\W.*){1,}).{8,}密码至少包含2位数字、2个字母字符、1个非字母数字和最少8个字符.不幸的是,这似乎不兼容跨浏览器。此验证在Firefox中完美运行,但在InternetExplorer中则不然。您的每个答案的组合导致:varformat="^(?=.{"+minLength+",})"+(minAlpha>0?"(?=(.*[A-Za-z].*){"+minAlpha+",})":"")+(minNum>0?"(?=(.*[0-9].*){"+minNum+

javascript - 在 RegExp 构建之前清理正则表达式字符串?

我想使用字符串来执行全局正则表达式,但它可能包含正则表达式字符。在使用字符串构建正则表达式之前转义字符串中所有正则表达式字符的最佳方法是什么?基本上我可能有这样的东西;vartest='test.';varregex=newRegExp(test,'ig');我需要“测试”。成为'测试'。所以它不会以意想不到的方式运行。 最佳答案 newRegExp(test.replace(/[#-.]|[[-^]|[?|{}]/g,'\\$&'));或者简单地说:newRegExp(test.replace(/[#-}]/g,'\\$&'));

javascript - 根据正则表达式匹配选择数组中的对象

如何使用javascript仅返回数组中满足特定条件的对象?例如,如果我有['apple','avocado','banana','cherry']并且只想输出以字母'A'开头的水果。编辑:下面采用SeanKinsey的函数,并尝试通过传入数组和字母来使其更灵活:函数filterABC(arr,abc){vararr=arr;varfiltered=(function(){varfiltered=[],i=arr.length;while(i--){if('/^'+abc+'/'.test(arr[i])){filtered.push(arr[i]);}}returnfiltered;

javascript - JavaScript 正则表达式中包含的拉丁字符

我希望将下面的拉丁字符包含在JavaScript正则表达式中以进行字符串验证。ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏàáâãäåæçèéêëìíîïÐÑÒÓÔÕÖØÙÚÛÜÝÞßðñòóôõöøùúûüýþÿ到目前为止,我只有一个基本的字符串正则表达式。varstringReg=/[a-zA-Z\-\'\]/i;提前致谢。斯卡洛 最佳答案 我正在使用:/^[A-z\u00C0-\u00ff\s'\.,-\/#!$%\^&\*;:{}=\-_`~()]+$/正则表达式varregexp=/[A-z\u00C0-\u00ff]+/g,asci