正则表达式任何ASCII字符

时间:2010-07-08 11:49:42

标签: regex ascii

匹配xxx[any ASCII character here, spaces included]+xxx的正则表达式是什么?

我正在尝试xxx[(\w)(\W)(\s)]+xxx,但它似乎无效。

8 个答案:

答案 0 :(得分:71)

如果你的意思是任何和ASCII(不是所有的Unicode字符):

xxx[\x00-\x7F]+xxx

JavaScript示例:

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

re.test('xxxabcxxx')
// true

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

答案 1 :(得分:55)

[ -~]

那是seen here。它匹配从空格到波浪号的所有ASCII字符。

所以你的实现将是:

xxx[ -~]+xxx

答案 2 :(得分:22)

您可以使用[[:ascii:]]类。

答案 3 :(得分:10)

由于US-ASCII字符的字节范围为0x00-0x7F(0-127):

xxx[\x00-\x7F]+xxx

答案 4 :(得分:4)

尝试使用.+代替[(\w)(\W)(\s)]+

请注意,这实际上包含的内容超出了您的需要 - ASCII只定义了前128个字符。

答案 5 :(得分:0)

.代表任何字符,所以你写这样的正则表达式:

xxx.+xxx

答案 6 :(得分:0)

根据您对“ASCII字符”的含义,您可以尝试:

xxx.+xxx

答案 7 :(得分:0)

接受/仅匹配ASCII字符

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