java正则表达式匹配空字符串,【java】空字符串作为正则表达式,匹配什么?

空字符串作为正则表达式,匹配什么?

ls = makeList(" AB CDEFG HIJKLMNOPQRSTUVWXYZ".split(""));

System.out.println(ls);

输出:

[ , A, B, , C, D, E, F, G, , H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]

为什么感觉空字符串作为正则表达式的模式,是匹配一个位置的? 我看了jdk源码,确切说没有精准的点,解释这个现象? 我也查了一些正则资料,

没有找到说明。 目前,准备看精通正则表达式, 找寻答案。 但是,希望能够快点知道为什么? 特来求助大家。

回答

其实这个和正则没什么关系,因为空字符串不是正则。

实际上按split的定义来说,使用指定的分隔符字符串将一个String对象分割成字符串数组。实际上对于空字符串这种比较特殊的分割符,只能根据输出结果来猜测官方是如何定义的。

下面是我个人看法,不一定正确。

比如”ABCD”这个字符串,其实可以定义为”A”+””+”B”+””+”C”+””+”D”,那么对于匹配到的分割符而言,就相当于把每一个character都分割出来。

当然,也可能只是约定俗成。(最近上不了外国网站,迟点能上再找一下ECMA的定义看看

这个问题有点迷哈,mdn上string.prototype.split方法介绍,可以说你写的不是根据正则来分割,而是字符串,正则不需要使用'&"这样的符号包围,使用/regexp/格式就好,在正则中空格还是匹配空格,也可以使用\s来匹配。JavaScript的api以及相关文档都应该查看mdn,里面很全的,

W3C也是可以的。但是mdn比较友好。

这道题和正则表达式没什么关系。

split 是把字符串分割成数组,参数是分割符。

split(””),即""(空字符串)作为分割符。

split(“,”),即,逗号作为分割符。

s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ fnrtv]。注意Unicode正则表达式会匹配全角空格符。

维基百科——正则表达式

split()方法是把字符串切分为数组,这里的切分原则是按”分割,所以会把你的每个单词都变为数组的单个元素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

根据变量推断变量类型_Java A的新本地变量类型推断

根据变量推断变量类型对于编程语言迷来说,新闻几乎比这更令人兴奋! 现在,存在状态为“候选”的JEP 286用于本地变量类型推断 。 以及Brian Goetz的反馈请求,我很想邀请您参加: http : //mail.openjdk.java.net/piperm…

千元平板电脑排行榜_最值得买的平板电脑推荐-最佳平板电脑品牌排行榜【2020年10月】...

平板电脑相较笔记本电脑而言,以其便携与功能强大的特点成为大家日常生活和工作的必备搭档,无论在性能配置上还是在内置软件应用方面,不同的使用场景有不同的需求。今天给大家推荐最佳平板电脑品牌排行,希望对大家选购平板电脑有帮…

C++ One

class DeEncodec { public:static DeEncodec *Get(){static DeEncodec ff;return &ff;}protected:DeEncodec();};

mysql5建函数报1064错误,MySQL存储函数创建错误ERROR 1064和1327

我正在使用MySQL v5.1.36,我正在尝试使用此代码创建存储函数.DELIMITER //CREATE FUNCTION modx.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTICBEGINDECLARE y INT;SELECT id INTO yFROM modx.coverage_stateWHERE coverage_state.name x;RETURN y;END//当进入MysqL控制…

java 枚举 菜鸟_2个菜鸟Java常量和枚举陷阱

java 枚举 菜鸟在对Java和Groovy代码进行的各种代码审查中,我经常看到魔术数字和其他随机字符串散落在整个代码库中。 例如,下面的(Groovy)代码段中的4.2是一个神奇的数字: if (swashbuckle > 4.2) {... }4.2是什…

C++ 11 深度学习(二) 命名空间简介、基本输入输出精解

1.命名空间 作用:防止在大型工程中多个包含文件中的Fuction被重复定义使用造成不能编译的混乱。如下错误显示 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2005 "void __cdecl showFirst(void)" (?showFirstYAXXZ) 已经在 first.obj 中定义 Project2 F:\…

python正则_python的正则表达式

上次小编写了正则表达式的用法,今天就小编就讲讲正则表达式再python中的应用,在python中想使用正则表达式就需要导入re模块。接下来小编将先介绍re模块中几个常见的函数findall:re.findall(‘正则表达式’,‘待匹配的内容’)例1:输…

【FFMPEG源码终极解析】 avformat_open_input (一)

avformat_open_input 打开媒体函数,先上全部源码。然后逐语句分析。 int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {//第一部分解析AVFormatContext *s *ps;int i, ret 0;AV…

spring async_Spring Async和Java的8 CompletableFuture

spring async众所周知,我不是Spring的最大粉丝,但是当时我在一个组织中工作,该组织使用Spring(以不同的形式和版本)维护了太多的项目。 我仍然对Spring持怀疑态度,当然有一些很好的主意,有一些很…

公里与英里的换算c语言函数_60迈=60码=60公里?这三者天壤之别,可别搞错了

说到行车速度,大家经常用的是这三个单位:码、迈、公里/时,很多人以为这三者是同一个意思,都是每小时多少公里。实际上这三者并不等同,下面小编科普一下这几个词的差异。码1码不等于1公里,而是等于0.9144米&…

php3.2.3分组查询,ThinkPHP3.2.3版本如何设置应用分组

鑫强已经解决了我的解决方法是创建两个入口文件实际上我的目的就是想要达到两个模块共用一个配置文件和公共函数文件我的解决方法是在项目根目录下建立两个入口文件一个是Index.php与Root.php两个入口文件其中是这样写的Index.php{<?php #前台入口文件 header(Conte…

FFmpeg options

libavformat options libavcodec options

通过图书编号查询python,基于Python的ISBN书号查询示例代码-六派数据

示例代码本代码示例是基于Python的六派数据接口进行数据请求API服务请求的代码示例&#xff0c;使用前你需要&#xff1a;以下是完整代码示例&#xff1a;#!/usr/bin/env python# -*- coding: utf-8 -*-# 测试环境: python2.7# 安装requests依赖 > pip install requests/ ea…

归约操作java8_使用Java 8进行分组,转换和归约

归约操作java81.简介 在上一篇文章中 &#xff0c;我写了关于如何使用流和分组对对象集合进行分组的文章。 这很有用&#xff0c;但不涵盖特定的用例。 例如&#xff0c;有时我们不仅需要对事物进行分组&#xff0c;还需要将结果转换为更合适的对象。 在这篇文章中&#xff0c…

C++ 11 深度学习(一)auto、头文件防卫、引用、常量

1.数组初始化 int a[]{ 1,2,3,4,5 }; 2.C11 auto auto可以在声明变量的时候根据变量的初始值的类型自动为此变量先择合适的类型&#xff0c;声明时要赋予初值。 auto自动推导发生在编译期间 auto A 10;//A会被自动推导为int类型 3.头文件防卫式声明 作用:防止头文件重…

flux storm_Apache Storm:如何使用Flux配置KafkaBolt

flux storm微型框架中的助焊剂可以帮助我们定义和部署Storm拓扑。 Flux有各种包装器&#xff0c;可帮助您定义所需的流并初始化Bolts和Spouts&#xff08;使用带有或不带有参数的构造函数&#xff0c;并通过反射自动调用自定义配置方法&#xff09;。 您只需要使用Flux就是将…

android 在什么情况下会主动gc_Python 什么情况下会生成 pyc 文件?

作者&#xff1a;折木奉太郎(经授权转载)来源&#xff1a;https://www.zhihu.com/question/30296617/answer/112564303作为 Python 爱好者&#xff0c;需要了解 .py 脚本的基本运行机制及特性&#xff1a;在很多工作上&#xff0c;Python 的运行流程基本上取决于用户&#xff0…

oracle 查看内存参数配置,Oracle内存参数配置及版本问题

Oracle的内存配置与Oracle性能息息相关。从总体上讲&#xff0c;可以分为两大块&#xff1a;共享部分(主要是SGA)和进程独享部分(主要是PGA)。在 32 位操作系统下 的Oracle版本&#xff0c;不时有项目反馈关于内存的错误(如ORA-04030、04031错误)都是十分令人头疼的问题。查阅资…