regex 如何用javascript从字符串中提取多个文本?

kb5ga3dv  于 2022-12-01  发布在  Java
关注(0)|答案(1)|浏览(122)

我有一个从URL动态获取的字符串,如下所示
链接中的文字:“MD表单模板v4.4.0 2023年11月01日(请随后分享)"
从上面的文字,我想得到以下。

1. Version  
  - v4.4.0

2. Date 
  - 2023 11 01

我试过这样

let text = "MD Sheet Template v4.4.0 2023 11 01 (please share then)";

let version;
let date;

version = text.match(/\.(.*?)\v3/i);
console.log('version', version); // null

date = text.match(/\.(.*?)\20/i);
console.log('date', date); // null

如何解决此问题?

jum4pzuy

jum4pzuy1#

const txt="MD Sheet Template v4.4.0 2023 11 01 (please share then)";

const [rev,date]=txt.match(/\s+(v.+?)\s+(.+?)\s+\(/).slice(1);

console.log("revision",rev);
console.log("date", date);

regexp要求修订字符串以“v”开头,并且前面至少要有一个空格字符(\s+),并且日期至少在一个其他空白字符之后。然后,日期由另一个空白字符组限制(至少一个字符),后跟左括号(()。为两种模式使用一个组合的正则表达式使其更加可靠,因为强制执行了特定的序列。

相关问题