如何使下面的正则表达式接受任何特殊字符

How to make the below regex to accept any special character

本文关键字:任何 特殊字符 正则表达式 何使下      更新时间:2023-09-26
/^[^ ](['w- '.'''/&#]+)[^ ]$/,

我有上面的正则表达式。我想确保它接受所有特殊字符,但我不想指定整个特殊字符列表,例如 ['w- '.'''/&#!@#$&] .我们如何确保上述正则表达式接受所有特殊字符

[^'w's]匹配任何非字母数字和非空格字符。

'S匹配任何非空格字符。

.匹配除换行符以外的任何字符。

['S's]匹配 JavaScript 正则表达式中的任何字符。

由于您已经有'w和空格,因此您必须需要除控制字符之外的所有 ASCII 字符。 那将是:

[ -~]

。或其代码点在 U+0020(空格(到 U+007E(波浪号(范围内的任何字符。 但看起来您要确保第一个和最后一个字符不是空格。 事实上,看看你之前的问题,我假设你只需要字母或数字在这些位置。 这将起作用:

/^[A-Za-z0-9][ -~]*[A-Za-z0-9]$/

。但这要求字符串长度至少为两个字符。 若要允许使用单字符字符串,请将其更改为以下内容:

/^[A-Za-z0-9](?:[ -~]*[A-Za-z0-9])?$/

换句话说,如果只有一个字符,它必须是字母或数字。 如果有两个或更多字符,则第一个和最后一个必须是字母或数字,而其余字符可以是任何打印字符,即字母、数字、"特殊"(标点符号(字符或空格。

请注意,这仅匹配 ASCII 字符,而不匹配重音拉丁字母(如 Âë(或其他字母或书写系统的符号。

.匹配除换行符之外的任何字符。