jjzjj

regex-negation

全部标签

javascript - 使用 JavaScript RegEx 使用 am 和 pm 验证时间

我不太擅长正则表达式。我有以下时间:12:00am。我需要一个遵循这种格式的Javascript正则表达式:hh:mm[am/pm]varregex=/^(\d\d):(\d\d)\s?(?:AM|PM)?$/; 最佳答案 你几乎完成了,缺少的部分是关于小时数永远不会大于1和分钟数永远不会大于5的十位。我还在末尾添加了“忽略大小写”标志,它接受“am”、“AM”、“Am”、“aM”:varregex=/^([0-1]\d):([0-5]\d)\s?(?:AM|PM)?$/i;限制性更强一些(1≤小时≤12):/^([1-9]|1[0

javascript - a^b 的 RegEx 而不是 pow(a,b)

这是一个有趣的例子。任何人都有一个很好的正则表达式来将所有(first)^(second)转换为Math.pow((first),(second))?编辑:我目前为止最好的是s=s.replace(/((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))\s*\^\s*((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))/g,'Math.pow($1,$2)')//replaceexpression^expressionwithMath.pow($1,$2)到目前为

javascript - 使用 RegEx 验证负十进制数和正十进制数

我正在尝试构建一个正则表达式,它允许使用以下规则的负十进制数和正十进制数。小数点后不能超过2位小数点是可选的包括小数点在内的总长度不得超过12个字符如果没有小数点,最大长度不能超过9个字符谁能帮帮我?非常感谢。 最佳答案 检查这个正则表达式。^[+-]?[0-9]{1,9}(?:\.[0-9]{1,2})?$这个正则表达式说标志是可选的至少一位至多9位数字作为整数部分如果有小数点,则小数点后至少一位,最多两位数。 关于javascript-使用RegEx验证负十进制数和正十进制数,我们在

javascript - RegEx 恰好匹配 4 位数字

好的,我有一个像这样的正则表达式模式/^([SW])\w+([0-9]{4})$/此模式应与SW0001之类的字符串匹配,带有SW前缀和4位数字。我认为[0-9]{4}可以完成这项工作,但它也匹配包含5位数字等的字符串。关于如何让它工作以仅匹配具有SW和4位的字符串有什么建议吗? 最佳答案 让我们看看正则表达式/^([SW])\w+([0-9]{4})$/匹配什么以S或W开头,因为使用了字符类一个或多个字母数字字符或下划线(\w=[a-zA-Z0-9_])四位数这不仅仅是匹配SW0001。使用下面的正则表达式。/^SW\d{4}$/

javascript - 如何突出显示 RegEx 与 jQuery 匹配?

以代码为基础,是否可以在不使用额外插件的情况下突出显示任何匹配项?我想将style="backgorund:green;"添加到找到项目的div,以便我可以立即看到它们。到目前为止,我尝试过的方法都没有奏效,所以我希望来自大脑之外的一些新鲜想法可以解决问题。functionfinder(items){varneeded=[/*items*/];varre=newRegExp(needed.join("|"),"i");return(items.match(re)!=null);}varfound=finder(document.body.innerHTML);varoutput=fou

javascript - 为什么当我在 RegEx 中转义 < 字符时 jslint 会报错?

代码:varfoo=/\当我转到jslint.com时然后输入,我得到:Problematline1character12:Unexpected'\'.它曾经告诉我Unexpectedescapedcharacter'但时代变了。所以我很好奇,为什么?如果你尝试varfoo=/\>/;它不在乎,这与有什么关系?? 最佳答案 如果你有两个简单的div,区别就很明显了:>JSLint不假定脚本是一个独立的文件或位于HTML文档的脚本标记内。在标记语言中,例如XUL,MXML,XAML,TVML,LZX,XHTML5或SVG,script

javascript - while 循环中 regex.exec() 赋值的更好解决方案

这里有更好的解决方案吗?我尽量避免在while中进行赋值,但仍然能够遍历匹配项并使用捕获的组。varmatch="";varCSS_URL_PATTERN=/url\s*\(\s*["|']?(.*?)\s*["|']?\)\s*/gmwhile((match=CSS_URL_PATTERN.exec(someBigCSSString))!==null){//Dostuffherepermatch…}我为这个问题添加了更多上下文,还有一个RegEx示例。 最佳答案 当我需要.exec时,我总是这样做:varre=/.../g,mat

javascript - C# Regex 性能纯相对 JS

我对JS中正则表达式的速度有很好的体验。我决定做一个小小的比较。我运行了以下代码:varstr="Aregularexpressionisapatternthattheregularexpressionengineattemptstomatchininputtext.";varre=newRegExp("t","g");console.time();for(vari=0;i结果:3888.731ms。现在在C#中:varstopwatch=newStopwatch();varstr="Aregularexpressionisapatternthattheregularexpressio

Javascript Regex替换url中的子目录

我正在尝试匹配特定目录之后的URL中的子目录:然后将目录附加到匹配的字符串。/applications/app1应该是/applications/app1/beta/applications/app2/应该是/applications/app2/beta//applications/app2/settings应该是/applications/app2/beta/settings/applications/app3?q=word应该是/applications/app3/beta?q=word我是这样写的:path=path.replace(/(\/applications\/(.*)(

javascript - 为什么 RegEx.test 会在后续调用中更改结果?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么以下从true变为false;varr=/e/gi;r.test('e');//truer.test('e');//false然后继续切换true,false,true,false......