regexp-grammars

    3熱度

    1回答

    我是Regexp :: Grammars的新手,很難匹配多線模式。我有這個輸入: my $text = <<EOD; HEADER: This is a multi-line section, because the second line is down here. EOD 這個語法: use Regexp::Grammars; my $parser = qr{ <no

    10熱度

    1回答

    在試圖回答問題Writing text into new line when a particular character is found時,我僱用了Regexp::Grammars。它一直對我感興趣,最後我有理由去學習。我注意到,說明部分筆者有一個LaTeX解析器(我是一個狂熱的LaTeX的用戶,所以這讓我感興趣的),但它有一個奇怪的結構在這裏看到: <rule: Option> [^][\

    3熱度

    5回答

    我想爲以下創建一個正則表達式。 我有一個像下面的一些文字: field = "test string"; type = INT; funcCall(.., field, ...); ... text = "desc"; field = "test string 1"; type = FLOAT; funcCall(.., field, ...); ... text = "des

    3熱度

    1回答

    我有很多大的純文本文件,我希望用perl解析。每個文檔都有大部分英文段落,每個文檔中有幾個純文本標記了表格。 我已經創建了一個語法來描述表結構,但我不確定是否最好使用Parse :: RecDescent或Regexp :: Grammars來提取表。 我最初傾向於Parse :: RecDescent,但是我不確定在語法中如何處理90%的文檔文本我想忽略,以便找到我想要的幾個表格提取埋入每個文件

    4熱度

    1回答

    我一直在開發和關閉Perl解析器幾年,但由於它一直處於pre-alpha階段,所以我從不擔心加速它。但是,我已經開始研究優化它的方法,並對我發現的內容感到驚訝。 經過一些算法和正則表達式的優化後,正常執行大約需要3.5秒,其中大約2.3是Perl啓動所花費的時間(我用「time perl scriptname.pl」死(「完成」);「在第一行)。我知道Regexp :: Grammars不是那裏最

    4熱度

    2回答

    我真的很喜歡perl的Regexp::Grammars模塊。 .NET有沒有這樣的東西? 我真的很想在C#中以正則表達式樣式使用遞歸下降解析器(例如通過大文檔搜索匹配模式),並且能夠遞歸地表達該模式。 更新閱讀本little gem布萊恩d FOY後,我發現了Perl 5.10的支持使用(?& NAME)標記的子模式。 PCRE現在有Nuget package,PCRE支持命名/標記的子模式。

    0熱度

    1回答

    考慮以下規則 <rule: str> (<[token1]> | <[token2]>) + 輸出(%/)將是相同的以下輸入 input1: <token1> <token2> <token1> input2: <token1> <token1> <token2> 這是因爲,第二被附加到一個列表中的第一個命名爲「TOKEN1 '但沒有關於其他令牌匹配順序的暗示。 任何想法如何將

    4熱度

    1回答

    我試圖從使用Perl和Regexp::Grammars CPAN模塊的程序中的註釋中捕獲免費標籤。 use strict; use v5.10; use YAML; my $s = q{ junk code; // here be tags #:tag1: junk code 2; // another one #:tag2: j

    3熱度

    1回答

    我試圖在應用程序中使用Regexp::Grammars,但它打破了很多其他正則表達式。例如,以下代碼: $hello = 'hello'; print 'hello 1' if $hello =~ /hello/; #prints "hello 1" use Regexp::Grammars; print 'hello 2' if $hello =~ /hello/; #prints not

    0熱度

    2回答

    我想從文本文件及其結果顯示整個算術表達式,我試着用文件處理選項,但它不工作。 YACC: %{ #include <stdio.h> #include <string.h> #define YYSTYPE int /* the attribute type for Yacc's stack */ extern int yylval; /* defined by lex, holds at