javascript - 在 Javascript 中使用正则表达式替换字符串的一部分

标签 javascript angularjs regex

我有一些文本,我试图用 Angularjs 中的正则表达式替换其中的一部分。

文本将采用以下格式:

Name: Jane
Age: 66
Address: 31 Test Street

我想用“REDACTED”替换 Age: 之后的部分(这样 66 就不会出现),所以我创建了这个过滤器,在我看来它应该可以工作:

angular.module('person')
    .controller(controllerId, personControl)
.filter('ageFilter', function () {
    return function (text) {
        if (text)
            return text.replace(/[\n\r].*Age: \s*([^\n\r]*)/, 'REDACTED');
        return '';
    }
});

html的相关部分:

<dd ng-bind-html="vm.model.PERSON_INFO | ageFilter"></dd>

筛选器已命中,但文本从未被替换。当我在 Regex 测试网站上测试时,我的 regex 有效,所以我认为我可能做错了一些我看不到的事情。

最佳答案

试试这个:

return text.replace(/([\n\r]+.*Age: )(\s*)([^\n\r]*)/, '$1REDACTED$2')

关于javascript - 在 Javascript 中使用正则表达式替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466854/

相关文章:

javascript - Angularjs Twitter Bootstrap 。错误 : element. focus() 不是函数

node.js - Sails.js 应用程序在启动后不从 Assets 中刷新文件

Javascript时间转换正则表达式

regex - 正则表达式只允许数字、逗号和破折号

javascript - 带缩略图的 Bootstrap 轮播(多个轮播)

javascript - jQuery 查找子级并按顺序赋值

Javascript - Scriptaculous - 效果回调函数

javascript - tumblr - 如何根据某个帖子标题的高度显示 div?

javascript - Angular JS 从一个 div 收集所有输入值

regex - 如何在 SublimeText3 或 Atom 中查找不包含字符串的文件