我想寫reg表達式,它不應該使用(/,\, - ,[,],<,>,$,〜,!,@,#,:,%以外的特殊符號。所以我嘗試:如何編寫使用一些特殊字符的reg表達式?
if { [regexp {^[\w/-\[\]<>$#[email protected]#%:\\\/]+$} $name] != 1 } {
puts "Handle error";
}
但這不行。
例如,對於這樣的名稱IO1??
它不被視爲錯誤
誰能幫助?
我想寫reg表達式,它不應該使用(/,\, - ,[,],<,>,$,〜,!,@,#,:,%以外的特殊符號。所以我嘗試:如何編寫使用一些特殊字符的reg表達式?
if { [regexp {^[\w/-\[\]<>$#[email protected]#%:\\\/]+$} $name] != 1 } {
puts "Handle error";
}
但這不行。
例如,對於這樣的名稱IO1??
它不被視爲錯誤
誰能幫助?
你必須逃離-
你的性格類或把它在開始 - 否則它解釋爲一個範圍:
regexp {^[\w/\-\[\]<>$#[email protected]#%:\\\/]+$} $name
或
regexp {^[-\w/\[\]<>$#[email protected]#%:\\\/]+$} $name
/
和\[
之間的距離似乎包含?
。
謝謝。這是我正在尋找的。 – 2013-05-08 17:37:52
我假設你想要兩種類型的斜槓/
和\
。你可以試試^[\w\\\/]+$
我試了一下examples here。
你很近,但好像你只是在處理/
。你是正確的逃脫它(需要\/
)。如果您添加額外的\\
,您也允許使用\
。
如果這不起作用,請提供一些您正在使用的傳遞/失敗的複雜字符串的示例,以便我們可以幫助更好地製作正則表達式。
注意:這個答案只針對數字,字母,下劃線和斜線。
黑色斜線或前斜線? – 2013-05-08 17:05:25
似乎你剛纔在下劃線,斜槓,字母,數字等初始問題中增加了更多的字符......你對這些新的「要求」進行表述的方式使得它對實際允許的內容感到困惑。除了......以外,不要使用雙重否定符號,因此很難弄清楚你想要的是什麼。 – Walls 2013-05-08 17:24:59
是的,據我瞭解,結果不應改變。是嗎? – 2013-05-08 17:27:03