今天遇到一个字符串,怎么匹配空格都不成功!!!

我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!!

查了一下    \s    不支持全角

1、"\s"匹配的是哪一种空格?

正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等;中文全角空格

\s 并不能匹配中文全角空格。

\s 只能匹配下面六种字符(详见 java.util.regex.Pattern 的 API DOC):

  1.   半角空格( )
  2.   水平制表符(\t)
  3.   竖直制表符
  4.   回车(\r)
  5.   换行(\n)
  6.   换页符(\f)

java代码中的转义   \\s

正则匹配0个或多个空格,我是这样写的  \\s*

正则匹配一个或多个空格,我是这样写的  \\s+

2、如何匹配全角空格

正则可以这么写:"[\\s\\p{Zs}]+" , 注意java代码中的转义。

3、测试

我的测试例子:

package com.test;

public class zhengze {
/**
* 替换多个<br>成单个<br>
* @param args
*/
public static void main(String[] args) {
String str1= "...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br><br>    <br>   <br> <br>";
String pattern = "<br>(\\s*<br>)+";
System.out.println("\\s* 替换的结果:");
System.out.println(str1.replaceAll(pattern,"<br>")); String str2= "...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br><br>    <br>   <br> <br>";
String new_pattern = "<br>([\\s\\p{Zs}]*<br>)+";
System.out.println("[\\s\\p{Zs}]* 替换的结果:");
System.out.println(str2.replaceAll(new_pattern,"<br>")); }
}

结果:

\s* 替换的结果:
...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br>    <br>   <br>
[\s\p{Zs}]* 替换的结果:
...中间省略很多...<br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br>

  

关于JAVA正则匹配空白字符的问题的更多相关文章

  1. 关于JAVA正则匹配空白字符的问题(全角空格与半角空格)

    今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下    \s    不支持全角 1.& ...

  2. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  3. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

  4. java正则匹配

    java正则提取需要用到Matcher类,下面给出案例示例供参考 需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6import java.util.regex.Matche ...

  5. java:正则匹配Pattern,Matcher

    一.正则匹配Pattern,Mather String s = "aa424fsfsd92lfjw2755097"; Pattern p = Pattern.compile(&qu ...

  6. java正则匹配 指定内容以外的 内容

    今天,遇到一个需要 匹配出 指定内容以外的 内容的需求. 乍一看,需求貌视很简单啊,直接上 非贪婪模式的 双向零宽断言(有的资料上也叫 预搜索.预查.环视lookaround): 比如,我要匹配 串内 ...

  7. java 正则匹配括号对以及其他成对出现的模式

    最近,我们有个大调整,为了控制代码的质量,需要使用一些伪代码让业务人员编写应用逻辑(其实这么做完全是处于研发效能的考虑,95%以上的代码不需要特别注意都不会导致系统性风险,),然后通过工具自动生成实际 ...

  8. Java正则匹配数字

    包括5种形式,如测试结果 import java.util.Scanner; import java.util.regex.*; public class Com { public static vo ...

  9. java正则匹配多个子字符串样例

    文本内容: 上海市黄浦区瑞典江苏省无锡市广东省深圳市南山区 我希望分别将字符串中的省份,城市名,城区名匹配出来,如匹配不出来就默认放在省份中. public static HashMap<Str ...

随机推荐

  1. Linux Namespaces机制

    转自:http://www.cnblogs.com/lisperl/archive/2012/05/03/2480316.html Linux Namespaces机制提供一种资源隔离方案.PID,I ...

  2. 《HelloGitHub》第 14 期

    公告 欢迎通过在 GitHub 上新建 issues 方式推荐项目,我真心希望读者可以在 HelloGItHub,找到真正的编程乐趣! <HelloGitHub>第 14 期 兴趣是最好的 ...

  3. vue2.0+element+node+webpack搭建的一个简单的后台管理界面

    闲聊: 今天是六一儿童节哟,小颖祝大家节日快乐哈哈哈.其实这个demo小颖断断续续做了将近两个礼拜了,心塞的,其实这个也没有多难,主要是小颖有点最近事情有点多,所以就把这个一直拖着,今天好不容易做好了 ...

  4. MPP 二、Greenplum数据加载

    Loading external data into greenplum database table using different ways... Greenplum 有常规的COPY加载方法,有 ...

  5. android网络监测

    public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManag ...

  6. 用WebStorm创建Express项目时出现:express version is unavailable

    那是因为在npm的配置文件中使用了代理: 方式一:查看配置:npm config list如果有:registry = "https://registry.npm.taobao.org/&q ...

  7. 前端单元测试框架-Mocha

    引言 随着前端工程化这一概念的产生,项目开发中前端的代码量可谓是'急剧上升',所以在这种情况下,我们如何才能保证代码的质量呢,对于框架,比如React.Vue,因为有自己的语法规则,及时每个开发人员的 ...

  8. Context源码分析

    我们做安卓开发,时时都在和Context打交道,那么Context到底是什么?有什么作用?如何与Application,Activity,Service等实例发生联系的?等等 Context是什么? ...

  9. 安装xampp出错,安装xampp出错,windows找不到-n ?

    安装路径错误的问题 安装参考路径:D:\xampp\子文件

  10. log4j 在项目中的详细配置

    1.添加log4j 包 2.首先在src目录下添加log4j.properties文件 log4j.rootLogger=debug, stdout, R log4j.appender.stdout= ...