
我正在寫一篇包含正規表示式的論文
使用正規表示式「(?<=|)\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 無需嘗試將它們作為命令執行,就像^ 這樣的特殊字符一樣。只有 % 必須受到保護:要匹配圍脖中的單一 %,請在正規表示式中使用 %,% 與 \% 相符。