RegExp.prototype.exec () не работает - PullRequest
0 голосов
/ 03 мая 2019
const fs = require('fs')

const jsdocFinder = /\/\*\*\n(.+?)\*\//gs
/**
 * Convert JSDocs from a file into JSON.
 * @function
 * @param    {String[]|String} dirs The directory or directories of the file(s) to convert.
 */
function interpret (dirs = []) {
  if (typeof dir === 'string') dirs = [dirs]
  const types = {}

  for (const dir of dirs) {
    const file = fs.readFileSync(dir, 'utf8')
    const docs = jsdocFinder.exec(file)

    console.log(docs)
  }

  return types
}

module.exports = interpret

Это мой код для функции, которая должна конвертировать JSDocs в данные JSON.В цикле for я использую регулярное выражение для захвата любого текста между /**\n и */.К сожалению, он не работает с файлами.Я записал, что равно file и должно совпадать.Я проверил Regex, и он должен работать нормально.

https://i.imgur.com/2FlmeBq.png

docs равняется null каждый раз.

1 Ответ

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

Я разобрался, так как Windows использует CR LF, мне нужно сделать \r\n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...