所以我对正则表达式不是很熟悉,看过一些教程以及它是如何工作的,但我还是不明白!
无论如何,这是我拥有的当前字符串:^[a-zA-Z0-9]*$
我希望它能够使用以下字符:([
]
(
)
|
并且能够使用空格)
编辑:对于空格,让我们说以下字符串:[Something] Something
,是否可以使用正则表达式:^[][a-zA-Z0-9 ]*$
?
所以我对正则表达式不是很熟悉,看过一些教程以及它是如何工作的,但我还是不明白!
无论如何,这是我拥有的当前字符串:^[a-zA-Z0-9]*$
我希望它能够使用以下字符:([
]
(
)
|
并且能够使用空格)
编辑:对于空格,让我们说以下字符串:[Something] Something
,是否可以使用正则表达式:^[][a-zA-Z0-9 ]*$
?
]
您需要在字符类中转义右方括号(仅):
^[[\]a-zA-Z0-9 ()|]*$
您需要使用的所有其他字符都不需要转义。
顺便说一句,您需要在字符类中转义的唯一字符是:
]
右括号(显然)\
反斜杠(显然)^
,但前提是不在负类中(以 开头^
)-
,但前提是不是字符类中的第一个或最后一个字符在字符类中使用时,所有其他字符都失去了它们的正则表达式含义。例如,这是一个有效的字符类:
[^^.*()|[\]\\-]
这意味着“除任何字符之外的任何字符^.*()|[]\-
”
包括]
在字符类的开头,如下所示:
^[]a-zA-Z0-9]*$
其余的可以不转义地插入:
^[][()|a-zA-Z0-9]*$
当然,除非您不是在谈论字符类。
编辑:左括号可以解释为括号表达式,因此转义该括号可能更安全:
^[]\[()|a-zA-Z0-9]*$