所以我对Regex不是很熟悉,看过一些教程以及它是如何工作的,但我仍然没有得到它!
无论如何,这是我当前的字符串:^[a-zA-Z0-9]*$
我希望它能够使用以下字符:[
]
(
)
|
(并且能够使用空格)< / p>
编辑:对于空格,我们可以说以下字符串:[Something] Something
,是否可以使用正则表达式:^[][a-zA-Z0-9 ]*$
?
答案 0 :(得分:3)
您需要在字符类中转义结束方括号]
(仅限):
^[[\]a-zA-Z0-9 ()|]*$
您需要使用的所有其他角色都不需要转义。
另外,在字符类中需要转义的唯一字符是:
]
结束括号(显然)\
反斜杠(显然)^
,但仅限于不在负面课程中(以^
开头)-
,但前提是不是字符类中的第一个或最后一个字符在角色类中使用时,所有其他角色都会失去正则表达式的含义。例如,这是一个有效的字符类:
[^^.*()|[\]\\-]
表示“除^.*()|[]\-
之外的任何字符”
答案 1 :(得分:2)
在字符类的开头包含]
,如下所示:
^[]a-zA-Z0-9]*$
其余的可以插入未转义:
^[][()|a-zA-Z0-9]*$
除非你当然不是在谈论角色类别。
编辑:左括号可以被解释为括号表达式,因此可以更安全地逃避那个:
^[]\[()|a-zA-Z0-9]*$