1
我需要這個https://gist.github.com/jbroadway/2836900的Java端口,它基本上是一個PHP中簡單的Markdown正則表達式解析器。將Java反向傳遞給方法參數
我希望我可以使用反向引用,但我不能使它工作。 目前我沒有使用HashMap
,我有2個JavaFX TextArea
s,我將通過ChangeListener
獲取並設置文本。
{ //...
htmlTextArea.setText(markdownTextArea.getText()
.replaceAll("(#+)(.*)", header("$0", "$1", "$2"));
}
private String header(String text, String char, String content) {
return String.format("<h%s>$2</h%s>", char.length(), char.length());
$ 2的反向引用只有在返回時才起作用,但其他反向引用不起作用。 char.length()
始終爲2,因爲它被視爲$2
而不是反向引用。
我喜歡想一個解決方案,我可以保持這種風格,不需要分開處理。
你的代碼有問題。你能向我們展示一個你正在嘗試匹配的示例文本嗎? '$ 1'捕獲組是第一個匹配的組,而不是'$ 0'(可能是整個輸入字符串)。另外,你的模式'(#+)(。*)'只有兩個捕獲組,而不是三個。 –
@TimBiegeleisen是不是捕獲組0應該是完全匹配的表達式? –
@RobbyCornelissen我不清楚OP是否打算使用整個字符串,我希望看到一些示例數據。 –