Regex любой символ ASCII - PullRequest
       6

Regex любой символ ASCII

58 голосов
/ 08 июля 2010

Какое регулярное выражение соответствует xxx[any ASCII character here, spaces included]+xxx?

Я пытаюсь xxx[(\w)(\W)(\s)]+xxx, но, похоже, это не работает.

Ответы [ 8 ]

73 голосов
/ 08 июля 2010

Если вы действительно имеете в виду любой и ASCII (не например, все символы Unicode):

xxx[\x00-\x7F]+xxx

Пример JavaScript:

var re = /xxx[\x00-\x7F]+xxx/;

re.test('xxxabcxxx')
// true

re.test('xxx☃☃☃xxx')
// false
59 голосов
/ 30 января 2013
[ -~]

Это было видно здесь . Соответствует всем символам ASCII от пробела до тильды.

Итак, ваша реализация будет:

xxx[ -~]+xxx
23 голосов
/ 08 июля 2010

Вы можете использовать [[:ascii:]] класс.

10 голосов
/ 08 июля 2010

Поскольку символы US-ASCII находятся в диапазоне байтов 0x00–0x7F (0–127):

xxx[\x00-\x7F]+xxx
4 голосов
/ 08 июля 2010

Попробуйте использовать .+ вместо [(\w)(\W)(\s)]+.

Обратите внимание, что это на самом деле включает в себя больше, чем вам нужно - ASCII определяет только первые 128 символов.

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

Принимает / сопоставляет только символы ASCII

/^[\x00-\x7F]*$/
0 голосов
/ 08 июля 2010

В зависимости от того, что вы подразумеваете под «символом ASCII», вы можете просто попробовать:

xxx.+xxx
0 голосов
/ 08 июля 2010

. обозначает любой символ, поэтому вы пишете свое регулярное выражение так:

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