Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我找到了这个线程,其中一个用户发布了以下代码行:
String[] digits2 = number.split("(?<=.)");
我已经咨询了几个来源——比如1和2——来破译这段代码的含义,但我无法弄清楚。谁能解释 split() 方法中的参数是什么意思?
编辑:对于任何与我有相同问题的人,这是另一个有用的链接
这是一个积极的回顾。整体表达的意思是“在任何字符之后,但不捕获任何东西”。本质上,如果字符串看起来像
ABC
那么匹配将发生在|, 字符之间。
|
A|B|C|
.split("")(在空字符串/模式上)将匹配正则表达式开头的空字符串。这是一个额外的空字符串字符,不受欢迎。 (?<=.)是一个零宽度断言(不消耗任何字符),它匹配零宽度空格后跟任何字符(后跟因为它是后视)。这会拆分每个字符之间的空字符串,但不会拆分第一个字符和字符串开头之间的空格。
.split("")
(?<=.)