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

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

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

Ответ 1

Если вы действительно имеете в виду любые и ASCII (не все символы Юникода):

xxx[\x00-\x7F]+xxx

Пример JavaScript:

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

re.test('xxxabcxxx')
// true

re.test('xxx☃☃☃xxx')
// false

Ответ 2

[ -~]

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

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

xxx[ -~]+xxx

Ответ 3

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

Ответ 4

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

xxx[\x00-\x7F]+xxx

Ответ 5

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

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

Ответ 6

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

xxx.+xxx

Ответ 7

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

xxx.+xxx

Ответ 8

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

/^[\x00-\x7F]*$/