jjzjj

regex_replace

全部标签

javascript - replace(/[^a-z0-9]/gi, '' ) 和 replace(/[^a-zA-Z0-9]/g, '' ) 之间的区别

这两者有区别吗?replace(/[^a-z0-9]/gi,'');replace(/[^a-zA-Z0-9]/g,'');此外,使用一种或另一种在时间上是否存在显着差异?编辑:关于性能,我做了一些测试http://jsperf.com/myregexp-test 最佳答案 不,首先,末尾的i使正则表达式不区分大小写,这意味着它找到的字母是大写还是小写都没有关系。第二个匹配大小写字母,但要确保它们是大写或小写。所以你最终会得到相同的结果。 关于javascript-replace(/[^

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

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

javascript - Regex.test() 给出真假顺序?

任何人都可以解释一下,为什么本地Regex变量和非本地Regex变量有不同的输出。varregex1=/a|b/g;functionisAB1(){returnregex1.test('a');}console.log(isAB1());//trueconsole.log(isAB1());//falseconsole.log(isAB1());//trueconsole.log(isAB1());//falsefunctionisAB2(){varregex2=/a|b/g;returnregex2.test('a');}console.log(isAB2());//truecons

javascript - AngularJS 指令属性 : Replace deprecated - Equivalent?

所以AngularJs正在弃用Replace指令的属性。reference上下文:.directive('myDir',function($compile){return{restrict:'E',template:'{{title}}'}});这将输出:sometitle所以,Replace将取代与template.现在有什么等价物?还是只是将指令与restrict:'A'一起使用?.我创建了这个:.directive('myDir',function($compile){return{restrict:'E',template:'{{title}}',link:link};func

javascript - 如何以编程方式处理英文缩写 [Regex, JS, Ruby]

我正在捕获自然语言用户输入,我需要根据预定义的“正确”版本检查它。这是微不足道的,但我不确定如何处理英语中收缩的变化。假设我期待句子I'mpositiveyoudon'tknowwhatyou'redoing.匹配需要精确,但我不想将用户锁定在一种变体,因为那样很快就会令人沮丧。那么,我是否应该手动输入该句子的所有可能变体作为有效匹配项?像这样:"I'mpositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudonotknowwhatyou'redoing.

如果像 substring() 那样在 startIndex 和 endIndex 之间找到字符串,则 JavaScript replace()

我的DOM中有一些HTML,我想替换其中的一些字符串,但前提是尚未替换或不是TAG。所有这些都基于一个数组,该数组包含我要查找的字符串和我希望用其替换的新字符串。正在进行的工作:https://jsfiddle.net/u2Lyaab1/23/更新:HTML标记只是为了简单起见在示例代码中使用UL编写,但它可以包含不同的标签、事件不同的嵌套级别基本上desiredReplcement工作得很好(除了它也在标签中查找),但我希望它发生在DOM上,而不是新字符串上,因为我想在DOM.片段:varlist=[{original:'Thisis',new:'Newthisis'},{origi

Javascript Regex-用相同数量的另一个字符替换字符序列

我正在尝试用JavaScript中相同数量的虚拟字符替换字符串的一部分,例如:'==Hello=='为'==~~~~~=='。已使用Perl回答了这个问题和PHP,但我无法让它在JavaScript中运行。我一直在尝试这个:txt=txt.replace(/(==)([^=]+)(==)/g,"$1"+Array("$2".length+1).join('~')+"$3");模式匹配工作正常,但替换没有-第二部分添加'~~'而不是模式匹配的长度。将“$2”放在括号内是行不通的。我该怎么做才能让它插入正确数量的字符? 最佳答案 改为使

JavaScript replace() 方法 : remove empty space just at the end and at the beginning of the string

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoItrimastringinjavascript?通过在javascript中使用replace方法,我试图删除字符串开头和结尾之间的空白区域:这是我的代码:知道我应该如何获得结果吗?input->"firstsecond".replace(/[^\s|\s$]/g,'');//""output->"firstsecond"

javascript - 对象没有方法 'replace'

我尝试运行这个函数,它将所有选中的复选框值抓取到逗号分隔的字符串中,并将","转换为",",所以它读起来更好。问题是我遇到了一个奇怪的错误:$('.name_boxes').live('click',function(){varall_boxes=$('.name_boxes');varall_boxes_values=[]for(vari=0;i控制台错误说:UncaughtTypeError:ObjectAaronRamsey,AaronRenfreehasnomethod'replace'.我没有收到警告框。这有点超出我的理解范围,有人可以解释我做错了什么吗?

如果字符串包含不在 RegEx 中的字符,则返回 Javascript RegEx

我有一个用户创建的字符串。我只允许字符A-Z、a-z、0-9、-、和_使用JavaScript,我如何测试字符串是否包含不是这些字符?如果字符串包含不是这些字符,我想提醒用户这是不允许的。我可以使用哪些Javascript方法和RegEx模式来匹配它? 最佳答案 您需要使用否定字符类。将以下模式与matchfunction一起使用:[^A-Za-z0-9\-_]例子:varnotValid='Thistextshouldnotbevalid?';if(notValid.match(/[^A-Za-z0-9\-_]/))alert('