Java正则匹配空格_js正则表达式匹配空格

Java正则匹配空格_js正则表达式匹配空格需求针对tab键带来的多个空格问题,有时候我们针对带空格的一行数据要进行切割,如果有多个空格就会出现就会切割空格出现,我们想把空格都去掉,所以需要用到某些方法。解决方案利用正则表达式来匹配空格\\s+首先利用split(“\\s+”);方法来对字符串切割,尽可能的匹配空格,这里也挺有意思,因为空格数目不一样,可以动态变换匹配的空格数量,这个实现原理可以看看底层原理,挺有意思。测试:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

需求

针对tab键带来的多个空格问题,有时候我们针对带空格的一行数据要进行切割,如果有多个空格就会出现就会切割空格出现,我们想把空格都去掉,所以需要用到某些方法。

解决方案

利用正则表达式来匹配空格

\\s+

首先利用split(“\\s+”);方法来对字符串切割,尽可能的匹配空格,这里也挺有意思,因为空格数目不一样,可以动态变换匹配的空格数量,这个实现原理可以看看底层原理,挺有意思。
测试:

		String string="a   b  a  a ";
		for(String a:string.split("\\s+")){
			System.out.println(a);
		}

扩充知识

正则表达式的() [] {}有不同的意思。
() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串。
[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。
[0-9]{0,9} 表示长度为 0 到 9 的数字字符串

()和[]有本质的区别

()内的内容表示的是一个子表达式,()本身不匹配任何东西,也不限制匹配任何东西,只是把括号内的内容作为同一个表达式来处理,
例如:(ab){1,3},就表示ab一起连续出现最少1次,最多3次。如果没有括号的话,ab{1,3},就表示a,后面紧跟的b出现最少1次,最多3次。另外,括号在匹配模式中也很重要。这个就不延伸了,LZ有兴趣可以自己查查
[]表示匹配的字符在[]中,并且只能出现一次,并且特殊字符写在[]会被当成普通字符来匹配。例如[(a)],会匹配(、a、)、这三个字符。
所以() [] 无论是作用还是表示的含义,都有天壤之别,没什么联系

社招、校招内推时刻

本人在阿里巴巴工作,业余时间做了社招、校招的公众号,可以内推大家,免筛选直接面试,公众号的一些文章也帮助大学、研究生的一些同学了解校招、了解名企,工作几年的同学想换工作也可以找我走社招内推,同时大家对文章有问题,也可以公众号找我,扫码关注哦!

Java正则匹配空格_js正则表达式匹配空格

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189976.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 电商后台管理系统前端开发总结[通俗易懂]

    电商后台管理系统前端开发总结[通俗易懂]前端和服务器存在跨域问题使用token维持状态,否则使用cookie或者session记录状态

  • java检测tomcat宕机_Tomcat意外宕机分析

    java检测tomcat宕机_Tomcat意外宕机分析之前在网上看过一篇文章,是讲Tomcat进程意外退出的,我看完感觉好奇,自己也测试了下,果然是有这种问题,所以自己也借此总结一下。先简单说下测试过程,先创建一个web服务启动test.sh,内容如下:#!/bin/bashcd/usr/software/tomcat/apache-tomcat-7.0.81/bin/./catalina.shstarttail-f/usr/software/…

  • 设计模式之六大设计原则[通俗易懂]

    设计模式之六大设计原则

  • 从零开始搭建 web 聊天室(一)

    从零开始搭建 web 聊天室(一)本篇将介绍如何快速、简便地使用socket.io库搭建一个web在线聊天室。前端并没有使用任何框架。后端使用express框架搭建简易的后端。socket.io库本质上是基于websocket上进行封装。改变了以往只能前端发送请求,后端才能返回给前端信息,这样的一问一答形式。实现了前后端双向通信,即后端也可以主动push信息到前端。websocket尤其适用于在线聊天或者实时交互的场景。已经广泛用于直播平台、视频平台等。本篇实现:最基本的前后端信息交互。代码地址:https

  • 微信上赚钱需要准备什么?[通俗易懂]

    微信上赚钱需要准备什么?[通俗易懂]微信上赚钱需要准备什么?1、一个风口上的产品2、微信好友人脉资源3、群发工具其实很多时候赚钱并没有那么难,想在微信上做生意、做社交其实很简单。很多人目前可能手头都有至少一个产品是可以卖的,但是他们没有有效的利用起来自己的微信人脉。也许是不会;也许是会,但是没工具不能;也许就是懒……不管出于什么原因,我这篇文章是写给想赚钱的人。加余老师VX:125381839微精灵营销工具可以帮助我们做哪些…

  • pytest的assert_java单元测试断言

    pytest的assert_java单元测试断言前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号