Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 什么是';两级正则表达式';什么意思?_Regex - Fatal编程技术网

Regex 什么是';两级正则表达式';什么意思?

Regex 什么是';两级正则表达式';什么意思?,regex,Regex,我理解基本正则表达式,但不确定下面的引语是什么意思(关于如何实现wiki解析器),有人能提供一些伪代码来启发我吗 二级正则表达式 这是一种非常流行的方法。它相当快,因为它扫描原始文本整整两次 其思想是创建两种正则表达式——一种是将文本分割成不同类型的块(段落、标题、列表、预格式化块等),然后使用不同的字符级正则表达式处理它们 引用自:这意味着不要试图在一个正则表达式中完成多个任务,而是将其分为两个任务(两个级别);首先拆分,然后分别处理每个令牌 我的观点是,人们常常不必要地试图让一个正则表达式一

我理解基本正则表达式,但不确定下面的引语是什么意思(关于如何实现wiki解析器),有人能提供一些伪代码来启发我吗

二级正则表达式 这是一种非常流行的方法。它相当快,因为它扫描原始文本整整两次

其思想是创建两种正则表达式——一种是将文本分割成不同类型的块(段落、标题、列表、预格式化块等),然后使用不同的字符级正则表达式处理它们


引用自:

这意味着不要试图在一个正则表达式中完成多个任务,而是将其分为两个任务(两个级别);首先拆分,然后分别处理每个令牌

我的观点是,人们常常不必要地试图让一个正则表达式一次做太多的事情,而不是通过像这样拆分不同的任务来简化事情。

看起来“两级正则表达式”是一个(稍微模糊的)我在StackOverflow上的一些答案中推荐了一个术语,用于解析一个稍微困难(但仍然是常规)的语言问题


例如,从HTML页面获取所有
imgsrc=
URL。在一个正则表达式中完成这一切是可能的(但相当混乱);更有意义的是使用正则表达式从每个匹配中获取所有
。这使代码更具可读性,您只需扫描文本两次。

+1,我完全同意。我永远也不会明白为什么人们那么喜欢用枪打自己的脚。我不知道我以前是否听过这个词。我认为“两步走”应该是一个更明确的术语。好吧,也许这不是官方术语。:-)我真的没有名字。我只是把它写在我的答案中:——)