Регулярного выражения любой символ ASCII


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

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

7   51   2010-07-08 15:49:41

7 ответов:

Если вы действительно имеете в виду любой и 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:]] класса.

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

xxx[\x00-\x7F]+xxx

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

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

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

xxx.+xxx

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

xxx.+xxx