所以我對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
燁「除了任何
^.*()|[]\-
的任何字符」,這是完美的。最後一件事(字面意義上,我沒有意識到)你應該知道的是,破折號屬於字符類的末尾(或開始處),否則他們會指定範圍。 –