regex - 正则表达式中的方括号问题

标签 regex

我在使用正则表达式时遇到问题。我基本上想删除括号以外的所有内容,包括 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 ({()]}])

这给了我正确的答案,除了 [ 匹配正则表达式,我也不想要它。但是 ] 不匹配所以我很困惑。

最佳答案

@HamZa在评论using the negative char ^中提供的最简单的解决方案

[^][(){}]

另一个解决方案是将 - 字符移动到正则表达式的开头或结尾,因为在当前位置被视为范围字符,就像在 A-Za-z 中一样

[0123456789+\\*/-]

http://www.regexpal.com/?fam=96675中查看

关于regex - 正则表达式中的方括号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41709115/

相关文章:

regex - 如何在 Google BigQuery 中的 URL 字符串中的模式后提取带有 SYMBOLS 的字符串

python - 检查字符串中的有效域名?

javascript - 正则表达式不匹配数字

python - 在正则表达式中组合括号和单词边界

regex - Vim 中的正则表达式

python - spacy 标记化撇号

regex - 如何使用Excel VBA脚本删除某些字符

删除最后一个空格之前的所有内容

regex - Matlab:如何使用稀疏键来访问稀疏数据?

php - 正则表达式 - PCRE (PHP) - 单词边界 (\b) 和重音字符