Какое регулярное выражение соответствует xxx[any ASCII character here, spaces included]+xxx?
xxx[any ASCII character here, spaces included]+xxx
Я пытаюсь xxx[(\w)(\W)(\s)]+xxx, но, похоже, это не работает.
xxx[(\w)(\W)(\s)]+xxx
Если вы действительно имеете в виду любой и ASCII (не например, все символы Unicode):
xxx[\x00-\x7F]+xxx
Пример JavaScript:
var re = /xxx[\x00-\x7F]+xxx/; re.test('xxxabcxxx') // true re.test('xxx☃☃☃xxx') // false
[ -~]
Это было видно здесь . Соответствует всем символам ASCII от пробела до тильды.
Итак, ваша реализация будет:
xxx[ -~]+xxx
Вы можете использовать [[:ascii:]] класс.
[[:ascii:]]
Поскольку символы US-ASCII находятся в диапазоне байтов 0x00–0x7F (0–127):
Попробуйте использовать .+ вместо [(\w)(\W)(\s)]+.
.+
[(\w)(\W)(\s)]+
Обратите внимание, что это на самом деле включает в себя больше, чем вам нужно - ASCII определяет только первые 128 символов.
Принимает / сопоставляет только символы ASCII
/^[\x00-\x7F]*$/
В зависимости от того, что вы подразумеваете под «символом ASCII», вы можете просто попробовать:
xxx.+xxx
. обозначает любой символ, поэтому вы пишете свое регулярное выражение так:
.