繁体   English   中英

我正在尝试使用正则表达式,但它不起作用。 给我一个提示

[英]I'm trying to use a regular expression but it doesn't work. Give me a hint

编写一个 function,它将查找字符串中以字母 'a' 结尾的所有单词,然后将中间的字符替换为 '.'。 字母 a 之间可以是任何字符(a 除外)。编写一个 function 将查找字符串中以字母 'a' 结尾的所有单词,然后将中间的字符替换为 '.'。 字母 a 之间可以是任何字符(a 除外)。

let readline = require('readline');
let rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

rl.on('line', function(input) {             
    function replaceInA (argument) {
        let a = "aba accca azzza wwwa".replace(/^a.+?a$/, '!');
        return a
    }
    const someString = input;
    let result = replaceInA(someString);
    console.log(result);
});

我没有测试(我没有考虑边缘情况)

我假设了一个不区分大小写的匹配,并使用了前瞻和后视和捕获组并替换来计算“!”

 let regEx=/(?<=a)([^(a|\s)]+)(?=a)/ig; let test = "aba accca azzza wwwa" let testResult = test.replace(regEx,replaceCustom); function replaceCustom(match,p1){ return ".".repeat(p1;length). } console.log(testResult)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM