關於cool語言和正規表示式的問題?

時間 2021-06-01 03:08:48

1樓:

non-escaped newline character的意思就是非轉義的換行符。

對於詞法分析器來說,乙個新行的開始不是我們平常感覺的一行的開頭,而是上一行的終結符號(看不到的\n或者\n\r)。

上面的意思是說,字串不能跨行,如果想跨行寫字串,必須使用'\'來指明說要換行了。

轉義字元:你看到的字元不是你想的那樣

非轉義字元:你看到的就是你想的那樣

元字元:轉義之後,你看到的就是你想的那樣;未轉義,你看到的字元不是你想的那樣。

『不知道這麼解釋怎麼樣』

由於普遍(cool應該一樣)的分析器是從左向右,從上倒下逐個字元檢查的,所以呢:

\\\n -> \\ \n -> \

上面空了一行,就是最後\n的意思。

\\n -> \\ n -> \n

沒有換行,n沒能組成轉義

\\\0,這個就是\,但是最後的\0表達不了,因為\0就是數值上的0,一般用來標記字串的終結,C++應該有講過這些。

Java正規表示式捕獲組問題?

李昂 沒有輸出顯然是因為字串中沒有匹配你pattern的,你的pattern是指1到9其中乙個數字出現一次,然後後面跟著零或多個的數字,然後後面再緊接著出現乙個或多個0。另外,你如果是是想1 9的數字出現零次或多次就得寫 0 9 而不是 0 9 d 中文居然能把正規表示式表達得這麼清楚,感覺可以用中...

正規表示式是圖靈完備的嗎?

理論上說,正規表示式就是符合Chomsky層級中type3文法的字串,那麼肯定是不完備的,至少連 1 n 2 n 這樣的字串都無法描述。但是實際的正規表示式引擎實現中,有時為了增強匹配字串的能力,會讓該引擎的語法達到type2乃至type0。比如Perl6的正規表示式可以完全匹配CFG type2 ...

你是如何學會正規表示式的?

一絲混亂 大部分知識和技能的都符合二八定律 20 知識點的使用頻率是80 80 知識點的使用頻率是20 但是這些東西的教程或者說明是一股腦兒全部給你的,並沒有著重標出哪些是重點,哪些用的頻率不那麼高。正則就是乙個非常典型的例子,我覺得正則說是9.5 0.5都不為過。我使用過程中,用到最多的是i g ...