gpt4 book ai didi

java - 扫描仪正则表达式分隔符问题

转载 作者:行者123 更新时间:2023-11-29 05:18:27 25 4
gpt4 key购买 nike

我将扫描仪的分隔符设置为:

scanner.useDelimiter("(\\s*?)(#.*?\n)(\\s*?)");

目标是忽略表单的注释

#comment \n

因此:

Hello#inline comment
world.

变成:

Hello
world.

像我一样设置分隔符,我会想:

Hello#inline comment world.

会变成:

[Hello]

和:

Hello#inline comment\n world.

会变成

[Hello, world.]

最佳答案

我可能弄错了,但看起来你可能想使用类似的东西

scanner.useDelimiter("#.*(\r?\n|\r)?");

您需要记住,并非每一行都以 \n(或 \r\r\n)结尾,例如 last行的末尾不能有 \n。石灰分离器在不同的操作系统中也可能不同。

编辑:

根据您的评论,您可能需要添加扫描仪标准分隔符(一个或多个空格 - \\s+\p{javaWhitespace}+ 如果您prefer), 所以试试

scanner.useDelimiter("\\s*#.*(\r?\n|\r)?|\\s+");

关于java - 扫描仪正则表达式分隔符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25702507/

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