如何使用正则表达式匹配字符串后跟动态数字和特定字符串

时间:2017-04-10 07:50:02

标签: javascript regex

string ='这是新的5000卢比钞票'

string_to_search ='new(动态编号)卢比'

主字符串中的数字可以是任何动态值。如何匹配以'new'开头并以'rupees'结尾的字符串与其间的动态数字?

4 个答案:

答案 0 :(得分:1)

var regex = /new[\s]?[\d]+[\s]?rupees/;
var str = `This is the new 5000 rupees note`;
let m;

if ((m = regex.exec(str)) !== null) {
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

您可以使用此网站RegEx101.com来设计和测试正则表达式以及使用多种语言生成代码

答案 1 :(得分:0)

根据评论改进了解决方案:

您可以使用正则表达式解决它:

new \d* rupees

例如:

str.match(/new \d+ rupees/g);

答案 2 :(得分:0)

您可以使用此正则表达式搜索以' new'开头的字符串。接着是一个空格,然后是一个或多个数字,然后是一个空格,然后是“卢比”。我刚刚添加了警报,因此您可以轻松地进行测试

var str = "new 2000 rupees" var stringmatched= str.match(/new \d+ rupees/g); alert(batstringmatchedta);

答案 3 :(得分:0)

使用String.match()的正则表达式:



var string = 'This is the new 5000 rupees note';

console.log(string.match(/((new+\s)+\d+(\s+rupees)+)+/g)[0].match(/\d+/g)[0]);
// or if you just want to extract number from str:
console.log(string.match(/\d+/g)[0]);