기본적으로 PHP의 간단한 markdown regex 파서 인이 https://gist.github.com/jbroadway/2836900의 Java 포트가 필요합니다.메소드 매개 변수에 자바 역 참조 전달
내가 역 참조를 사용할 수 있기를 바랬으나 제대로 작동하지 않을 수 있습니다. 현재 HashMap
을 사용하지 않고 있는데 ChangeListener
을 통해 텍스트를 가져오고 설정하는 JavaFX TextArea
이 2 개 있습니다.
{ //...
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입니다.
이 ID는이 스타일을 유지할 수있는 솔루션을 생각하고 별도로 처리 할 필요가 없습니다.
코드에 문제가 있습니다. 일치시키려는 샘플 텍스트를 보여줄 수 있습니까? '$ 1' 포착 그룹은'$ 0'이 아닌 최초로 매칭 된 그룹입니다 (전체 입력 문자열 일 수도 있음). 또한 패턴'(# +) (. *)'에는 세 가지가 아니라 두 개의 캡처 그룹 만 있습니다. –
@TimBiegeleisen 완전 일치 식인 캡처 그룹 0이 아닌가? –
@RobbyCornelissen OP가 전체 문자열을 사용하려고한다는 것은 확실하지 않습니다. 몇 가지 샘플 데이터를보고 싶습니다. –