gpt4 book ai didi

java - 正则表达式 (?<=[\\S])[\\S]*\\s* 的作用是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:30 27 4
gpt4 key购买 nike

我在 this 中看到了一个正则表达式其他 stackoverflow 问题,但我不明白每个部分的含义。

String[] split = s.split("(?<=[\\S])[\\S]*\\s*");

其结果是句子的首字母缩略词。

为了理解链接正则表达式,我应该从左到右开始阅读它还是反之亦然?我如何识别(或限制)每个部分?

最佳答案

(?<=[\\S])规定匹配前面应带有 \\S ,即除空格之外的任何内容。

[\\S]*规定正则表达式应匹配零个或多个非空格字符

\\s*匹配零个或多个空格。

本质上,正则表达式会查找非空格字符,并匹配其前面的所有非空格字符及其后面的空格。
正则表达式匹配 ohandas<space><space>aramchand<space>来自Mohandas Karamchand G

因此,在使用这些匹配来分割字符串后,您最终会得到 {"M", "K", "G"}

注意正则表达式匹配后面的两个空格 Mohandas ,因为\\s*部分匹配零个或多个空格

关于java - 正则表达式 (?<=[\\S])[\\S]*\\s* 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60172224/

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