gpt4 book ai didi

java - 包含开头有 4 个空格的行组

转载 作者:行者123 更新时间:2023-11-30 11:06:12 27 4
gpt4 key购买 nike

我想将所有行包含在 <pre> 中开头有 4 个空格的标记。

我试过什么?

^[ ]{4}(.*)(?!=^[ ]{4})

DEMO

输入:

Here is the code:
String name = "Jon";
System.out.println("Hello "+name);
output:
Hello Jon

实际输出:

Here is the code: 
<pre>String name = "Jon";</pre>
<pre>System.out.println("Hello "+name);</pre>
output:
<pre>Hello Jon</pre>

预期输出:

Here is the code:
<pre>
String name = "Jon";
System.out.println("Hello "+name);
</pre>
output:
<pre>
Hello Jon
</pre>

Java 示例代码:

text.replaceAll(regex, "<pre>$1</pre>");

最佳答案

您可以使用:

String out = input.replaceAll("(?m)((?:^ {4}\\S.*$\\r?\\n)*^ {4}\\S.*$)", 
"<pre>\\n$1\\n</pre>");

RegEx Demo

解释:

(?m)                    # enable multilie mode
^ {4}\\S.*$ # match a line with exact 4 spaces at start
\\r?\\n # followed by a line feed character
(?:^ {4}\\S.*$\\r?\\n)* # match 0 or more of such lines
^ {4}\\S.*$ # followed by a line with exact 4 spaces at start
<pre>\\n$1\\n</pre> # replace by <pre> newline matched block newline </pre>

关于java - 包含开头有 4 个空格的行组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29389004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com