Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式任何ASCII字符_Regex_Ascii - Fatal编程技术网

Regex 正则表达式任何ASCII字符

Regex 正则表达式任何ASCII字符,regex,ascii,Regex,Ascii,与xxx[此处任何ASCII字符,包括空格]+xxx匹配的正则表达式是什么 我正在尝试xxx[(\w)(\w)(\s)]+xxx,但它似乎不起作用。如果您真正指的是任何和ASCII(不是所有Unicode字符): JavaScript示例: var re = /xxx[\x00-\x7F]+xxx/; re.test('xxxabcxxx') // true re.test('xxx☃☃☃xxx') // false 尝试使用+而不是[(\w)(\w)(\s)]+ 请注意,这实际上包含了比

xxx[此处任何ASCII字符,包括空格]+xxx
匹配的正则表达式是什么

我正在尝试
xxx[(\w)(\w)(\s)]+xxx
,但它似乎不起作用。

如果您真正指的是任何和ASCII(不是所有Unicode字符):

JavaScript示例:

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

re.test('xxxabcxxx')
// true

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

尝试使用
+
而不是
[(\w)(\w)(\s)]+


请注意,这实际上包含了比您需要的更多的字符-ASCII仅定义前128个字符。

代表任何字符,因此您可以这样编写正则表达式:

xxx.+xxx

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

xxx.+xxx

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


您可以使用
[[:ascii:]

[ -~]
是的。它匹配从空格到波浪号的所有ASCII字符

因此,您的实施将是:

xxx[ -~]+xxx

仅接受/匹配ASCII字符

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

@你是我今天的英雄!出于某种原因,它不接受\x00-\x7F,但需要[:ascii:]。谢谢注意[[:ascii:]将匹配任何ascii字符,甚至是不可打印的字符,而[-~]将只匹配ascii的可打印子集。“字符类”?注意:更好的名称是“POSIX表达式”,而不是“类”。请注意,并非每种语言都支持它,例如JavaScript,也不支持它。这似乎不像我想象的那样工作。这与ascii字符的字节表示形式相匹配,而不是视觉打印/键入字符本身?@advocate,是的。你用什么语言考试?可能就是这样。哦,我希望找到一些与ASCII字符打印版本相匹配的内容:)@advocate,我想您正在寻找
^[\x20-\x7F]+$
。这是一个很好的解决方案,我见过很多不好的解决方案。我不知道正则表达式能够通过字符码过滤,优雅!这是完美的,因为在ASP.NET MVC中,接受的答案不适用于[RegularExpression]属性-它被呈现为Unicode字符,这打破了验证。非常优雅的解决方案,可读性高,语义上正是我所寻找的。@Art这不适用于使用
[RegularExpression]
属性的我。。。为了让它工作,你还需要做什么特别的事情吗?我的属性只是
,但甚至不接受“asdf”。我想没关系。我刚刚意识到它只会匹配一个字符,所以我不得不添加+使其
[-~]+
“任意ascii字符,一次或多次”供我使用。@Zack查看我用完整的示例代码编写的这篇文章:希望它能帮到我,如果你卡住了,请告诉我!
xxx[ -~]+xxx
/^[\x00-\x7F]*$/