string ='这是新的5000卢比钞票'
string_to_search ='new(动态编号)卢比'
主字符串中的数字可以是任何动态值。如何匹配以'new'开头并以'rupees'结尾的字符串与其间的动态数字?
答案 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]);