【发布时间】:2017-05-17 20:23:31
【问题描述】:
我今天试图解决一个挑战,但我做不到。我必须确保字符串的所有大括号都闭合且顺序正确。
例如,这些是正确的:
{[()]}
{}()[]
{((()))}[]
这些不会:
{[}]
{{)}
我想用正则表达式做,我做不到,谁能告诉我怎么做? (正则表达式或其他方式)。
澄清一下,我不是想获取大括号内的内容,里面没有任何内容。
【问题讨论】:
-
显示您尝试解决的问题
-
读得好-stackoverflow.com/questions/1732348/…(您应该清楚地阅读所有答案,以了解为什么通常使用正则表达式无法解析嵌套结构,但为了节省您一些时间-stackoverflow.com/a/7564061/477420 为您提供了一个选项,如果你可以使用 .Net 的正则表达式)
-
一次遍历一个字符 - 将左大括号推入堆栈,对于右大括号,将顶部字符弹出堆栈并确保它们匹配。
-
您尝试在哪种语言中使用正则表达式?引擎在功能/语法上有所不同。
-
@Alex,在定时环境中这是一个挑战,我没有保留代码。