Regex 扩展正则表达式字符串
所以我对正则表达式不是很熟悉,看过一些教程以及它是如何工作的,但我还是不明白 不管怎样,这是我当前拥有的字符串:Regex 扩展正则表达式字符串,regex,Regex,所以我对正则表达式不是很熟悉,看过一些教程以及它是如何工作的,但我还是不明白 不管怎样,这是我当前拥有的字符串:^[a-zA-Z0-9]*$ 我希望它能够使用以下字符:[]()(并且能够使用空格) 编辑:对于空格,让我们假设以下字符串:[Something]Something,可以将正则表达式设置为:^[][a-zA-Z0-9]*$?在字符类的开头包含],如下所示: ^[]a-zA-Z0-9]*$ 其余部分可以在无场景的情况下插入: ^[][()|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 ()|]*$
[^^.*()|[\]\\-]
需要使用的所有其他字符不需要转义
另外,在字符类中需要转义的字符只有:
]
结束括号(显然)
\
反斜杠(显然)
^
,但仅当不在否定类中时(以^
开头)
-
,但仅当不是字符类中的第一个或最后一个字符时
在字符类中使用时,所有其他字符都会失去正则表达式的含义。例如,这是一个有效的字符类:
^[[\]a-zA-Z0-9 ()|]*$
[^^.*()|[\]\\-]
这意味着“除了^.*()|[]\-
之外的任何字符”是的,这很完美。你应该知道的最后一件事(确切地说,我不知道还有什么)是破折号属于字符类的末尾(或开头),因为否则它们会指定范围。@acheong87可能缺少咖啡?