2015-07-28 137 views
0

使用「快報」來測試我的正則表達式我有以下的表達......如何在正則表達式中排除尖括號?

[a-zA-Z0-9!£$\(\)-_+=]+ 

我有以下測試案例:

aB8 
aB_8 
aB_!8 
aB_!8(+=) 
aB_!8(+=-_) 
aB_!8(+=-_)<> 
!£$%()-_+=[];:@~# \|/ 
!£$()-_+=[];:@~# \|/ 
!£$()-_+=[];:@~# \|<>/ 
!£$()-_+=[]{};:@~# \|<>/ 
!£$()-_+=[]{};:@~# \|<>?/ 
!£$()-_+=[]{};:@~# \|<>.?/ 
!£$()-_+=[]{};:@~# \|<>,.?/ 
!£$()-_+=[]{};:@~# \|<>,.?/' 
'!£$()-_+=[]{};:@~# \|<>,.?/ 
!£$()-_+=[]{'};:@~# \|<>,.?/ 

這裏這種情況被路過,但我想它由於尖括號失敗:

aB_!8(+=-_)<> 

該解決方案需要爲reg-ex的c#風格工作。謝謝。

回答

1
^[a-zA-Z0-9!£$\(\)_+=-]+$ 

添加anchors^$並將-在end.See演示。

https://regex101.com/r/oC5rY5/21

+0

謝謝您的輸入。我不認爲這是造成它的錨點,而是我例子中的負號位置與你的位置之間的細微差別。我添加了錨點,但仍然無法工作。用過你的,它確實如此。把你的錨停下來,它仍然工作。 – Dib

+1

@Dib yes'-'在字符範圍內形成一個範圍。所以你的可能會形成一個範圍,其中'<>'將在range.with錨和'multiline'標誌它應該工作 – vks

0

因此,通過@vks在回覆基於我只用負號的位置使用

[a-zA-Z0-9!£$\(\)_+=-]+ 

這是subltey不同,我的例子

[a-zA-Z0-9!£$\(\)-_+=]+ 

或者,負號需要轉義!

\-