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