如何在 LATEX 中寫出正規表示式

如何在 LATEX 中寫出正規表示式

我正在寫一篇包含正規表示式的論文

使用正規表示式「(?<=|)\d*/\d*/\d*」來尋找報告日期。

我嘗試在正則表達式中的每個字元之前使用 backspash 但不起作用

我嘗試用​​ $$ 包裝正規表示式,但仍然不起作用

怎麼做?

答案1

正規表示式使用許多不同的字符,因此很難正確輸入。如果您可以找到一個未使用的字符,那麼您可以使用\verb它,這樣您就可以選擇一個分隔符,然後將代碼放在它之間。因此,如果您不需要管道字符,那麼您可以這樣做\verb|[0-9A-Fa-F]|,它只會顯示[0-9A-Fa-f]。但正如您的範例所示,管道字元被大量使用,因此您必須選擇其他字元。也許是一個感嘆號。那麼\verb!(?<=|)\d*/\d*/\d*!就會顯示為(?<=|)\d*/\d*/\d*.您必須找出適合每種情況的方法。

正如評論者所提到的,還有一個名為列表的包,它更強大,但對於像您的示例中那樣的內聯程式碼來說效果不佳。

答案2

如果您biblatex無論如何都在使用,您也可以使用它的\regexp{}命令作為開箱即用的解決方案。

來自聖經文檔

可以使用Perl 轉義序列,如\t 表示製表符、\n 表示換行符、\A 表示字串開頭或\d 表示數字,而TEX 無需嘗試將它們作為命令執行,就像^ 這樣的特殊字符一樣。只有 % 必須受到保護:要匹配圍脖中的單一 %,請在正規表示式中使用 %,% 與 \% 相符。

相關內容