所以我对Regex不是很熟悉,看过一些教程,它是如何工作的,但我仍然不明白!扩展正则表达式字符串
不管怎么说,这里的当前字符串,我有:^[a-zA-Z0-9]*$
我希望它能够使用下列字符:[
]
(
)
|
(并可以使用空格)
编辑:对于空格,可以说下面的字符串:[Something] Something
,是否可以使用正则表达式:^[][a-zA-Z0-9 ]*$
?
所以我对Regex不是很熟悉,看过一些教程,它是如何工作的,但我仍然不明白!扩展正则表达式字符串
不管怎么说,这里的当前字符串,我有:^[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()|]*$
您需要使用的所有其他字符不需要转义。
顺便说一句,你需要一个字符类中逃脱的唯一字符是:
]
右括号(显然)\
反斜杠(显然)^
,但只有在不属于否定类(一个以^
开头)-
,但只有当不是fi字符类中的第一个或最后一个字符所有其他字符在字符类中使用时会失去正则表达式的含义。例如,这是一个有效的字符类:
[^^.*()|[\]\\-]
这意味着
@ acheong87咖啡可能不足? – Bohemian
烨“除了任何
^.*()|[]\-
的任何字符”,这是完美的。最后一件事(字面意义上,我没有意识到)你应该知道的是,破折号属于字符类的末尾(或开始处),否则他们会指定范围。 –