如何在正则表达式中排除尖括号?
问题描述:
使用“快报”来测试我的正则表达式我有以下的表达......如何在正则表达式中排除尖括号?
[a-zA-Z0-9!£$\(\)-_+=]+
我有以下测试案例:
aB8
aB_8
aB_!8
aB_!8(+=)
aB_!8(+=-_)
aB_!8(+=-_)<>
!£$%()-_+=[];:@~# \|/
!£$()-_+=[];:@~# \|/
!£$()-_+=[];:@~# \|<>/
!£$()-_+=[]{};:@~# \|<>/
!£$()-_+=[]{};:@~# \|<>?/
!£$()-_+=[]{};:@~# \|<>.?/
!£$()-_+=[]{};:@~# \|<>,.?/
!£$()-_+=[]{};:@~# \|<>,.?/'
'!£$()-_+=[]{};:@~# \|<>,.?/
!£$()-_+=[]{'};:@~# \|<>,.?/
这里这种情况被路过,但我想它由于尖括号失败:
aB_!8(+=-_)<>
该解决方案需要为reg-ex的c#风格工作。谢谢。
答
因此,通过@vks在回复基于我只用负号的位置使用
[a-zA-Z0-9!£$\(\)_+=-]+
这是subltey不同,我的例子
[a-zA-Z0-9!£$\(\)-_+=]+
。
或者,负号需要转义!
\-
谢谢您的输入。我不认为这是造成它的锚点,而是我例子中的负号位置与你的位置之间的细微差别。我添加了锚点,但仍然无法工作。用过你的,它确实如此。把你的锚停下来,它仍然工作。 – Dib
@Dib yes'-'在字符范围内形成一个范围。所以你的可能会形成一个范围,其中''将在range.with锚和'multiline'标志它应该工作 – vks