如何使用正则表达式提取font-family值的第一个字体名称?

时间:2019-05-22 16:30:16

标签: css regex vue.js

我想使用Regex提取第一个字体名称而不用字体系列值的撇号。

我不知道如何使用正则表达式。请逐步指导我解决此问题。预先感谢!

输入:
1.“ Helvetica Neue,Helvetica,无衬线”
2。 “ Arial,Helvetica Neue,Helvetica,无衬线”
3。 “ Arial”

预期输出:
1. Helvetica Neue
2. Arial
3. Arial

1 个答案:

答案 0 :(得分:0)

您可以轻松地用逗号split() ,抓取字符串的第一部分,并用replace()括住单引号来完成工作,但是如果需要正则表达式,则可以采用此解决方案。

const regex = /"'?(.*?)'?(?:,|")/ig;
const str = `"'Helvetica Neue', Helvetica, sans-serif"
"Arial, 'Helvetica Neue', Helvetica, sans-serif"
"Arial"`;
let m;

while ((m = regex.exec(str)) !== null) {
  // This is necessary to avoid infinite loops with zero-width matches
  if (m.index === regex.lastIndex) {
    regex.lastIndex++;
  }

  // The result can be accessed through the `m`-variable.
  m.forEach((match, groupIndex) => {
    if (groupIndex == 1)
      console.log(`${match}`);
  });
}