草庐IT

JavaScript 正则表达式 : Can I get the last matched index or search backwards/RightToLeft?

假设我有一个字符串foobarbazfoobarbazfoobarbazfoobarbaz我想找到bar的最后一次出现,我怎样才能有效地做到这一点?我需要循环添加匹配项吗?在.NET中,我可以在JS中进行从右到左的搜索,我想我不能? 最佳答案 bar(?!.*bar)将找到字符串中的最后一个bar:bar#Matchbar(?!#butonlyifit'snotfollowedby....*#zeroormorecharactersbar#literalbar)#endoflookahead如果您的字符串可能包含换行符,请使用bar

javascript - 使用正则表达式 (regex) 替换 jQuery/JavaScript 中的选定文本

在下面的示例中,文本是使用jQuery选择的。我们如何通过摆脱其他数据来隔离货币?这种使用JavaScript的replace的尝试没有成功:varsymbol=$("div.price>h5>div.num").text().replace(/[\d.]*/,"");这是示例HTML;jQuery选择器正在工作:€12.28LowestPricePerNight 最佳答案 必须转义点,否则它会匹配每个字符,您必须设置全局修饰符:varsymbol=$("div.price>h5>div.num").text().replace(/

javascript - 找出正则表达式失败的位置

我正在尝试用JavaScript编写一个词法分析器来查找简单的特定领域语言的标记。我从一个简单的实现开始,它只是尝试匹配一行中当前位置的后续正则表达式,以确定它是否匹配某种标记格式并接受它。问题是,当这样的正则表达式中的某些内容不匹配时,整个正则表达式都会失败,所以我不知道究竟是哪个字符导致它失败。有没有办法找出导致正则表达式失败的字符串中的位置?INB4:我不是在询问调试我的正则表达式并验证其正确性。它已经是正确的,匹配正确的字符串并丢弃不正确的字符串。我只想以编程方式知道正则表达式停止匹配的确切位置,找出用户输入中不正确的字符的位置,以及其中有多少是好的。有没有办法只用简单的正则表

javascript - 用于匹配 URL 中多个正斜杠的正则表达式

我需要一个正则表达式来用单个正斜杠替换URL中的多个正斜杠,不包括冒号后面的斜杠例如http://link.com//whatever///将变为http://link.com/whatever/ 最佳答案 我认为这应该有效:/[^:](\/+)/或/[^:](\/\/+)/如果你只想要倍数。它不会与前导//匹配,但看起来您并不是在寻找它。替换:"http://test//a/b//d".replace(/([^:]\/)\/+/g,"$1")//-->http://test/a/b/dWorkingDemo

javascript - Javascript 中的正则表达式删除链接

我有一个JavaScript字符串,它包含一个带有href的a标签。我想删除所有链接和文本。我知道如何删除链接并保留内部文本,但我想完全删除链接。例如:vars="checkthisoutClickme.cool,huh?";我想使用正则表达式,所以我只剩下:s="checkthisout.cool,huh?"; 最佳答案 这将去掉之间的所有内容和/a>:mystr="checkthisoutClickme.cool,huh?";alert(mystr.replace(/]*>(.*?)/i,""));这并不是万无一失的,但也许它会

JavaScript 正则表达式删除特定的连续重复字符

我正在尝试构建一个正则表达式函数,它将删除任何非字母数字字符并删除所有重复字符,例如这个:aabcd*def%gGGhhhijkklmnoP\1223会变成这个:abcddefgGhijklmnoPR3。我可以很容易地删除特殊字符,但我终生无法解决如何删除重复字符的问题?这是我当前用于删除特殊字符的代码:varoldString=aabcd*def%gGGhhhijkklmnoP\122varfiltered=oldStringt.replace(/[^\w\s]/gi,"");我如何扩展上述正则表达式以检查重复字符和那些由非字母数字字符分隔的重复字符。 最

javascript - JavaScript 中所有可打印字符的正则表达式

寻找验证所有可打印字符的正则表达式。正则表达式只需要在JavaScript中使用。我经历了this帖子,但它主要谈论.net、Java和C而不是JavaScript。您必须只允许这些可打印字符:a-z,A-Z,0-9,andthethirty-twosymbols:!"#$%&'()*+,-./:;?@[]^_`{|}~andspace需要一个JavaScript正则表达式来验证输入字符是上述之一并丢弃其余字符。 最佳答案 如果您想匹配UTF-8集中的所有可打印字符(如您在8月21日发表的评论所示),您自己将很难做到这一点。Java

Javascript 正则表达式只有字母、数字和下划线

我想检查文本框输入是否有效(只允许字母、数字和下划线。没有空格或破折号)。我目前有这个,但空格和破折号似乎通过了。functionvalidText(field){varre=/[a-zA-Z0-9\-\_]$/if(field.value.search(re)==-1){alert("InvalidText");returnfalse;}}一个有效的输入应该是这样的'Valid_Input123'无效'Invalid-Input!' 最佳答案 \w是一个方便的正则表达式转义序列,包含字母、数字和下划线字符您应该通过在表达式的开头(

JavaScript 非正则表达式替换

是否有任何现有的JavaScript框架具有非正则表达式replace()函数,或者这是否已经作为一次性功能发布在网络上的某处?例如我想替换"@!#$123=%"并且我不想担心要转义哪些字符。大多数语言似乎都有两种替换方法。我希望添加这个简单的东西。 最佳答案 我可能误解了你的问题,但javascript确实有一个replace()varstring='@!#$123=%';varnewstring=string.replace('@!#$123=%','hi');编辑:(见评论)第5版似乎确实有这个信息,虽然它在我linkdire

javascript - JavaScript 中最大长度的正则表达式

如何限制匹配正则表达式的字符串的长度我假设varsixCharsRegEx=/^.{6,7}/只会匹配长度为6或7的字符串但没有:http://jsfiddle.net/FEXbB/我错过了什么? 最佳答案 您在末尾缺少收盘美元。正确的是:/^.{6,7}$/ 关于javascript-JavaScript中最大长度的正则表达式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11