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

Чему должен соответствовать regex xxx[any ASCII character here, spaces included]+xxx?

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

64
задан Peter Mortensen 7 August 2018 в 22:02
поделиться

6 ответов

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

xxx[\x00-\x7F]+xxx

Пример JavaScript:

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

re.test('xxxabcxxx')
// true

re.test('xxx☃☃☃xxx')
// false
77
ответ дан 24 November 2019 в 15:39
поделиться

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

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

4
ответ дан 24 November 2019 в 15:39
поделиться

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

24
ответ дан 24 November 2019 в 15:39
поделиться

. означает любой символ, поэтому вы пишете ваш regex следующим образом:

xxx.+xxx
0
ответ дан 24 November 2019 в 15:39
поделиться

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

xxx.+xxx
0
ответ дан 24 November 2019 в 15:39
поделиться

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

xxx[\x00-\x7F]+xxx
10
ответ дан 24 November 2019 в 15:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: