gpt4 book ai didi

Java 正则表达式 : How to remove substrings encased in specific delimiters

转载 作者:行者123 更新时间:2023-12-02 03:25:14 25 4
gpt4 key购买 nike

我正在编写一个词法分析器,我想在其中删除注释,例如:

/* this is a block comment that can
span across multiple lines */
// this a line comment that can only span one line

我已经尝试过 /\*.*\*/与 block 注释匹配。问题是 RegEx 的第一个匹配似乎总是最长的。如果我在同一代码中有多个 block 注释,它将匹配从第一个 block 注释的开头到最后一个 block 注释的结尾的子字符串。这是我想解决的一个问题。我假设我可以(在 .* 之后)添加一些内容来检查是否存在 */在评论本身。但是,我不知道如何告诉 RegEx (Java) 不匹配子字符串中的特定单词。

如何编辑/\*.*\*/停止 String.replaceAll() 跨多个注释匹配?(我可以对 //\n 的行注释使用相同的解决方案)

最佳答案

您想让匹配非贪婪? 符号的作用是:

/\*.*?\*/

* 之后的 ? 告诉搜索查找使模式与文本匹配的最小字符数。

关于Java 正则表达式 : How to remove substrings encased in specific delimiters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39026940/

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