假设我有一个包含带有注释的程序的字符串,如下所示:
var iString = "int i; //A variable \n" +
"//This is a text with notes \n" +
"//Can you remove them? \n" +
"cout<<i; //printing i \n"
我创建了一个能识别笔记的正则表达式:
var notes1= ("/"+"(\\s)*"+"/"+"(\\w|[^\\w])*"+"\\n").toRegex()
编写var newString = iString.replace(notes1,"")
我接受newString为:"int i; cout<<i \n"
相反,结果是:"int i;"
正则表达式'吞噬'整个字符串直到最后"\n"
,而我想要的是每当有机会时结束。
如何在Kotlin中定义它?
答案 0 :(得分:5)
MaskedWalletRequest
是一个贪婪的量词(见Quantifiers (The Java™ Tutorials > Essential Classes > Regular Expressions)。
您可以使用FullWalletRequest
代替这是一个不情愿的量词:
X*
输出:
X*?