我需要匹配所有这些开始标记:
<p>
<a href="foo">
但不是这些:
<br />
<hr class="foo" />
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
是否可以编写与未出现次数的嵌套模式匹配的正则表达式?例如,当外括号内嵌有未知数量的打开/关闭括号时,正则表达式是否可以匹配开括号和右括号?
例如:
public MyMethod()
{
  if (test)
  {
    // More { }
  }
  // More { }
} // End
应该匹配:
{
  if (test)
  {
    // More { }
  }
  // More { }
}
乍一看,分流码算法似乎适用于POSIX正则表达式解析,但由于我在编写解析器方面没有太多经验(或理论背景),我想在跳入并写入内容之前先询问SO半途而废.
也许问题的一个更复杂的版本是:对于分流码算法可以应用的问题类别的正式陈述是什么?
澄清:这个问题是关于您是否可以使用分流算法的基本原理将POSIX语法解析为抽象语法树,而不是您是否可以使用正则表达式来实现分流算法.对不起,我不清楚说明开始!