正则表达式替换失败,我找不到原因吗?

克里斯

我使用此正则表达式模式,.match()它按预期工作。但是,尝试使其正常工作.replace()似乎失败了,我无法理解原因。也许我需要一些新眼睛。

(function(){
var testRegex   = /^\/Monkey\/tooth\d+\/$/g;
var testStr = '/Monkey/tooth8/';
var testMatch   = testStr.match(testRegex,'');
var newString   = testStr.replace(testRegex,'');
alert(newString);
if(nullCheck(testMatch) == false){alert('false');}else{alert('true');}
})()

我希望该警报能够警报一个空框,但它只是警报与testStr相同的东西。我从中缺少什么,我最终想在字符串存在的情况下摆脱它。输出示例

/Monkey/Tooth10/Hello/World => Hello/World

/Monkey/Tooth10/GoodBye/World => GoodBye/World
布拉吉

删除^$避免整个字符串分别与字符串开头和结尾处的断言位置匹配。

你可以试试

\/Monkey\/tooth\d+\/

或只是删除 $

^\/Monkey\/tooth\d+\/

在线演示

示例代码:(使用i修饰符忽略大小写)

var re = /\/Monkey\/tooth\d+\//gi;
var str = '/Monkey/Tooth10/Hello/World';
var subst = '';

var result = str.replace(re, subst);

var matchedString = str.match(re);

JavaScript字符串match()方法

match()方法在字符串中搜索与正则表达式的匹配项,然后将匹配项作为Array对象返回。

注意:如果正则表达式不包含g修饰符(以执行全局搜索),则该match()方法将仅返回字符串中的第一个匹配项。

null如果找不到匹配项,则返回此方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找不到 Vim 正则表达式替换模式

来自分类Dev

在我的正则表达式中找不到错误

来自分类Dev

我找不到正则表达式

来自分类Dev

正则表达式替换失败

来自分类Dev

正则表达式:找不到正确的表达

来自分类Dev

替换正则表达式,直到找不到匹配项

来自分类Dev

替换正则表达式,直到找不到匹配项

来自分类Dev

找不到正确的正则表达式模式

来自分类Dev

正则表达式匹配,如果找不到空间

来自分类Dev

找不到与Java Matcher匹配的正则表达式

来自分类Dev

找不到合适的正则表达式

来自分类Dev

Python正则表达式找不到某些模式

来自分类Dev

找不到这个简单的正则表达式

来自分类Dev

找不到合适的正则表达式

来自分类Dev

Java正则表达式找不到匹配项

来自分类Dev

android正则表达式找不到匹配器

来自分类Dev

正则表达式代码找不到匹配项

来自分类Dev

为什么我的正则表达式找不到任何匹配项?

来自分类Dev

正则表达式用于替换文本失败

来自分类Dev

linux sed 用正则表达式替换失败

来自分类Dev

非常神奇的正则表达式,可以让我替换这些图像吗?

来自分类Dev

我的正则表达式无法正确替换

来自分类Dev

在另一个正则表达式中找不到正则表达式

来自分类Dev

我可以从正则表达式创建列表吗?

来自分类Dev

找不到为什么我的VBA简单正则表达式命令不起作用

来自分类Dev

Perl正则表达式替换

来自分类Dev

多个正则表达式替换

来自分类Dev

正则表达式替换

来自分类Dev

正则表达式替换的问题