如何匹配 xxx[这里可以是任意ASCII字符,包括空格]+xxx
的正则表达式?
我尝试使用 xxx[(\w)(\W)(\s)]+xxx
,但好像无法生效。
xxx[\x00-\x7F]+xxx
JavaScript 示例:
var re = /xxx[\x00-\x7F]+xxx/;
re.test('xxxabcxxx')
// true
re.test('xxx☃☃☃xxx')
// false
x7F
不可打印(它是 DEL
字符)。应该是 ^[\x20-\x7E]+$
。 - AnorZaken[[:ascii:]]
类。由于US-ASCII字符位于0x00-0x7F(0-127)的字节范围内:
xxx[\x00-\x7F]+xxx
仅接受/匹配ASCII字符
/^[\x00-\x7F]*$/
尝试使用.+
代替[(\w)(\W)(\s)]+
。
请注意,这实际上包括了你所需的内容 - ASCII仅定义了前128个字符。
根据你对“ASCII字符”的理解,你可以尝试:
xxx.+xxx
.
代表任意字符,因此您可以像这样编写正则表达式:
xxx.+xxx
[ -~]+
,即“任何 ASCII 字符,一次或多次”以适应我的需求。 - Zack[^ -~]
并将每个匹配替换为空字符串以删除非 ASCII 字符。 - Sebastian