Как вы можете напечатать все символы, которые удовлетворяют регулярному выражению? - PullRequest
1 голос
/ 16 августа 2010

Есть ли способ распечатать каждый символ, который удовлетворяет заданному регулярному выражению?

Например, можно ли напечатать все символы, которые соответствуют регулярному выражению, скажем, в Javascript:

[A-Za-z_-]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|[\u10000-\uEFFFF]

Пример взят из Спецификация черепахи .

РЕДАКТИРОВАТЬ: реализация JavaScript решения, предложенного Тоби и Питером Боутоном.

var out = "",
  str = "";
for (var i = 32; i < 983040; i++) {
  str = String.fromCharCode(i);
  if (str.match(/[A-Za-z_-]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|[\u10000-\uEFFFF]/)) {
    out += str;
  }
}
console.log(out);

1 Ответ

0 голосов
/ 16 августа 2010

Я думаю, что единственный способ сделать то, что вы просите, - это циклически перебирать все возможные символы один за другим и «собирать» каждый совпадающий символ в какой-то буфер.

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