我在使用正则表达式时遇到了麻烦。我基本上想删除括号以外的所有内容,包括0,1,2,3,4,5,6,7,8,9,+, - ,*,/
一个例子是
(9*[3*{[(3+3)/5]*7}]) # should give the answer ([{[()]}])
我现在的正则表达式是
[0123456789+-\\*/] # and it gives the answer ({()]}])
除了[
之外,我给出了正确的答案与正则表达式相匹配,我也不想要它。但是]
不匹配,所以我很困惑。
答案 0 :(得分:3)
@HamZa在评论using the negative char ^
[^][(){}]
另一个解决方案是将-
字符移动到正则表达式的开头或结尾,因为当前位置正在处理范围字符,就像在A-Za-z
[0123456789+\\*/-]
中查看
答案 1 :(得分:1)
将posix表达式用于"任何非括号":
myHttp.call
并将其替换为空白
[^\p{Ps}\p{Pe}]
或\p{Ps}
:任何类型的开幕式。\p{Open_Punctuation}
或\p{Pe}
:任何类型的结束括号。