Как извлечь первое имя шрифта из значения font-family с помощью регулярных выражений? - PullRequest
0 голосов
/ 22 мая 2019

Я хочу извлечь имя первого шрифта без апострофов значения семейства шрифтов с помощью Regex.

Я не знаю, как это сделать с помощью Regex. Пожалуйста, помогите мне шаг за шагом решить эту проблему. Спасибо заранее!

Введите:
1. «Helvetica Neue, Helvetica, без засечек»
2. "Arial, 'Helvetica Neue', Helvetica, без засечек"
3. "Arial"

Ожидаемый результат:
1. Helvetica Neue
2. Arial
3. Arial

1 Ответ

0 голосов
/ 22 мая 2019

Вы можете легко 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}`);
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...