首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否匹配java中的任何utf8非空格字符?

是的,Java中的正则表达式可以匹配任何UTF-8非空格字符。在Java中,可以使用正则表达式来匹配字符串中的特定模式。UTF-8是一种可变长度的编码方式,可以表示Unicode字符集中的所有字符。

要在Java中匹配UTF-8非空格字符,可以使用以下正则表达式:

代码语言:txt
复制
String regex = "[\\p{L}\\p{M}\\p{N}\\p{P}\\p{S}\\p{Z}\\p{C}&&[^\\s]]";

这个正则表达式使用了Unicode字符类别,包括字母(L)、标记(M)、数字(N)、标点符号(P)、符号(S)、分隔符(Z)和其他(C)。同时,使用了否定类(^)来排除空格字符(\s)。

以下是该正则表达式的解释:

  • \p{L}:匹配任何字母字符。
  • \p{M}:匹配任何标记字符。
  • \p{N}:匹配任何数字字符。
  • \p{P}:匹配任何标点字符。
  • \p{S}:匹配任何符号字符。
  • \p{Z}:匹配任何分隔符字符。
  • \p{C}:匹配任何其他不可见字符。
  • &&[^\s]:使用否定类来排除空格字符。

这个正则表达式可以用于Java中的字符串匹配操作,例如使用PatternMatcher类:

代码语言:txt
复制
import java.util.regex.*;

public class Main {
    public static void main(String[] args) {
        String input = "Hello, 世界!";
        String regex = "[\\p{L}\\p{M}\\p{N}\\p{P}\\p{S}\\p{Z}\\p{C}&&[^\\s]]";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        while (matcher.find()) {
            System.out.println("匹配到字符:" + matcher.group());
        }
    }
}

输出结果为:

代码语言:txt
复制
匹配到字符:H
匹配到字符:e
匹配到字符:l
匹配到字符:l
匹配到字符:o
匹配到字符:,
匹配到字符:世
匹配到字符:界
匹配到字符:!

这个例子演示了如何使用正则表达式匹配UTF-8非空格字符,并输出匹配到的字符。请注意,这个例子只是演示了匹配过程,并没有涉及腾讯云相关产品和链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#如何删除字符任何位置空格

C#如何删除字符任何位置空格? —— 新手编程1001问之C#编程基础 ---- 你或许知道你能使用String.Trim()方法,去除字符头和尾空格。...不幸运是,这个Trim方法不能去除字符串中间C#空格。 事实上,C#提供了多种方法清除字符空格,我们分述如下。 首先,我们最容易想到的当然是Trim()方法,示例代码如下: ?...的确,Trim() 方法只能去除字符串首尾空格。 上面代码运行结果显示为:aa a 那么,我们如何去掉字符串中间空格呢?...我们可能想到算法是:以空格为分隔符,将原字符串转换为数组,再遍历数组并且重新拼接为一个新字符串。理论上,这是没有问题。示例代码如下: ?...事实上,有同学已经做过测试,在多种替换(清除空格方案,Replace()的确是效率最高

11.1K40

javaList记录是否完全匹配方法

今天要说是给List分组,然后用Map来封装,可能你看了以后还是有一些模糊。 先看一下项目结构图: ? User类是一个VO类,主要逻辑还是在MapTestBak上面。 运行效果: ?...原理图: 1.在starsList中有两组人,共三人 2.在dolList中有一组人,共两人 3.经过marched操作,最后匹配到一组人到result。即第一组人。 原理很简单。 ?...1 /** 2 * 3 */ 4 package com.b510.map; 5 6 import java.util.ArrayList; 7 import java.util.HashMap...; 8 import java.util.List; 9 import java.util.Map; 10 11 /** 12 * @author Hongten 13 * @created...; 32 } 33 return tempList; 34 } 在这个方法,这里使用了两个List(即:comList, comList1)来记录是否完全匹配

1.3K10

utf8字符多模式匹配算法优化

上个月接触到了我组一个关于在海量文本匹配字符串业务。读源代码时发现一些问题,并针对这些问题做了优化工作,效果非常明显。 测试硬件环境是只用一颗主频2.4GIntel至强处理器核心。...原算法扫描一遍输入字符串string后,如果命中了至少一个模式,将进入一个非常“朴素”穷举阶段:把所有的规则遍历一遍,对于每条规则每个模式,检查是否命中。...输入字符串 “xxxx雪诺xxxx夜王xxxx龙母xxxx异鬼军团xxxxx” 此例与例3类似,但结果将是不匹配任何规则。...,是否还有可改进空间呢?...扫描utf8字符串时,每次取一个Bigram,虽然跳节符跳字符步长仍然是一个utf8字符,但因为每次取出两个utf8字组成Bigram增加了上下文信息,匹配效率将大大增加,大量地减少了因为单个utf8匹配到模式第一个

3.7K30

Java字符查找匹配字符

方法1:通过StringindexOf方法 public int indexOf(int ch, int fromIndex) :返回在此字符第一次出现指定字符索引,从指定索引开始搜索。...执行匹配所涉及所有状态都驻留在匹配,所以多个匹配器可以共享同一模式。...该方法作用就像是使用给定表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组不包括结尾空字符串。...; /** * 在字符查找匹配字符串 * author:大能豆 QQ:1023507448 * case : * 源字符串:You may be out of my sight, but never...} System.out.println("匹配个数为" + count); //结果输出 } //方法3、通过split方法,但此方法需考虑子字符是否是在末尾,若在末尾则不需要

7K20

Python分布式爬虫实战(三) - 爬虫基础知识

:下面详解 + :字符至少出现一次 {1}:前面的字符出现一次 {3,}: 要求前面的字符必须出现3次以上 {2,5}:前面的字符至少出现2次,最少出现5次 | : 或关系 [] : 括号里面的内容只要满足任何一个即可...,也可以是一个区间,括号里面的^表示不等于,括号里面的符号就是符号,不是特殊符号含义 \s :表示空格符 \S : 刚好与小s意思相反,只要不是空格都可以 \w : 表示[A-Za-z0-9_]...第二个b不要问好,那么第二个b就是贪婪模式,会持续匹配到最后一个b 现在源数据变更为  欲取得字符串 boooooooob 然而现实,却是  贪婪模式尽可能少匹配所搜索字符串,而默认贪婪模式则尽可能多匹配所搜索字符串...结果  [] 规则 结果 匹配电话号码 规则 其中有 ^ \s \S只能匹配一个字符!!!  \w w不满足空格,W满足!...py字符串在内存全是用Unicode进行编码 在Mac下实际上默认是utf8编码 在调用encode之前,必须把前面的变量转化为Unicode编码.

50140

MySQL字符比较,这也能行???

首先我用命令在MySQL上检测了一下这两个字符串在MySQL是否一样: ### MySQL实例一 23:39:09> select 'aaa' = 'aaa '; +---------------...对于二进制字符串(char,varchar和text),字符填充属性决定了比较字符串末尾空格处理方式。...NO PAD 排序规则将尾随空格视为重要比较,更加严格,就像任何其他字符一样; PAD SPACE 排序规则在比较中将尾随空格视为无关紧要,比较字符串时不考虑尾随空格,也就是有无空格一个样。...实例一连接比较规则是utf8_general_ci,对应填充规则是pad space属性,代表字符比较过程,末尾空格不重要,所以加不加空格结果都是一样; 实例二连接比较规则是utf8mb4_0900..._ai_ci,对应填充规则是no pad属性,代表字符比较过程,末尾空格重要,所以加不加空格结果不一样。

1.1K10

基础篇:String字符串操作-必知必备

匹配至少 n 次,至多 m 次。例如,"o{1,3}"匹配"fooooood"头三个 o。'o{0,1}' 等效于 'o?'。注意:您不能将空格插入逗号和数字之间。 ?...当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是"贪心"。"...贪心"模式匹配搜索到、尽可能短字符串,而默认"贪心"模式匹配搜索到、尽可能长字符串。例如,在字符串"oooo","o+?"只匹配单个"o",而"o+"匹配所有"o"。 ....等效于 \x0d 和 \cM \s 匹配任何空白字符,包括空格、制表符、换页符等 \d 数字字符匹配。等效于 [0-9] [a-z] 字符范围。匹配指定范围内任何字符。..." + isMatch); } --------------- 字符是否包含了 'st' 子字符串?

46010

java输出一个字符串里面的空格,字母还有数字数目举例说明

/*本题思路就是,当我有一个字符串,我需要一个一个字符处理,当下一个字符是个空格时候,我就知道前面已 经构成了一个完整字,把它输出出来就好了。...如果发现下一个字符不是一个空格的话,我就把这个字符,加到另一个字符,逐渐积累那个字符串成为一个完整 字。...*/ public class Test {     static int amount_space = 0; //此变量用来记录空格数量。...static int flag_Pro = 0; //此变量用来记录现在处理到大字符哪一个字符了。...            if (newstring.substring(i, i + 1).equals(" ")) { //假如newstring.substring(i, i + 1)马克-to-win,取出字符是个空格

1.2K40

Java 正则表达式用法和实例

表达式:[^x] 第一个字符不能是x 6、\S符号:字符 7、\s符号:空字符,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入多个空格。...{n,m} m 和 n 均为负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。 ? 当该字符紧跟在任何一个其他限制符 (*, +, ?..., {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪贪婪模式尽可能少匹配所搜索字符串,而默认贪婪模式则尽可能多匹配所搜索字符串。 . 匹配除 \n之外任何单个字符。...[^a-z] 负值字符范围,匹配任何不在指定范围内任意字符。 \b 匹配一个单词边界,也就是指单词和空格位置。 \B 匹配单词边界。 \cx 匹配由x指明控制字符。 \d 匹配一个数字字符。...\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 \S 匹配任何空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。

1.2K30

正则表达式及string相关内容

Java ,\\ 表示:我要插入一个正则表达式反斜线,所以其后字符具有特殊意义。...当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是"贪心"。"...贪心"模式匹配搜索到、尽可能短字符串,而默认"贪心"模式匹配搜索到、尽可能长字符串。例如,在字符串"oooo","o+?"只匹配单个"o",而"o+"匹配所有"o"。 ....[^a-z] 反向范围字符匹配不在指定范围内任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内任何字符。 \b 匹配一个字边界,即字与空格位置。...\s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。 \S 匹配任何空白字符。与 [^ \f\n\r\t\v] 等效。 \t 制表符匹配

97600

正则表达式及string相关内容

Java ,\\ 表示:我要插入一个正则表达式反斜线,所以其后字符具有特殊意义。...当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是"贪心"。"...贪心"模式匹配搜索到、尽可能短字符串,而默认"贪心"模式匹配搜索到、尽可能长字符串。例如,在字符串"oooo","o+?"只匹配单个"o",而"o+"匹配所有"o"。 ....[^a-z] 反向范围字符匹配不在指定范围内任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内任何字符。 \b 匹配一个字边界,即字与空格位置。...\s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。 \S 匹配任何空白字符。与 [^ \f\n\r\t\v] 等效。 \t 制表符匹配

55720

彻底弄懂java常量池

class文件存在常量池(运行时常量池),其在编译阶段就已经确定,jvm规范对class文件结构有着严格规范,必须符合此规范class文件才能被jvm任何和装载。...这张图中,可以看到,方法区实际上是在一块叫“堆”区域包含——可以简单粗略理解为包含了永生代,而永生代又包含了方法区和字符串常量池。 ?...class文件里常量池里大部分数据会被加载到“运行时常量池”,包括String字面量;但同时“Hello”字符一个引用会被存到同样在“堆”区域字符串常量池”,而"Hello"本体还是和所有对象一样...// String str = "abc"; //1、拿着abc字面量对象去执行equals方法,有匹配直接返回匹配字符串常量池中引用 //没有的话,在堆创建一个字面量对象,将引用存放在常量池中...在遇到String类型常量时,resolve过程如果发现StringTable已经有了内容匹配java.lang.String引用,则直接返回这个引用,反之,如果StringTable里尚未有内容匹配

90101

Android 常用正则表达式

当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是”贪心”。”...95 x y [xyz] 字符集。匹配包含任一字符。例如,”[abc]”匹配”plain””a”。 [^xyz] 反向字符集。匹配未包含任何字符。...例如,”[^abc]”匹配”plain””p”,”l”,”i”,”n”。 [a-z] 字符范围。匹配指定范围内任何字符。例如,”[a-z]”匹配”a”到”z”范围内任何小写字母。...[^a-z] 反向范围字符匹配不在指定范围内任何字符。例如,”[^a-z]”匹配任何不在”a”到”z”范围内任何字符。 \b 匹配一个字边界,即字与空格位置。...\s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。 \S 匹配任何空白字符。与 [^ \f\n\r\t\v] 等效。 \t 制表符匹配

2K10

java正则表达式解析「建议收藏」

给定字符是否符合正则表达式过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,从字符获取我们想要特定部分。...二、java正则表达式是怎么用? 知道了正则表达式是干什么,就要说说他在java是怎么用。...在 Java ,\\ 表示:我要插入一个正则表达式反斜线,所以其后字符具有特殊意义。...[^a-z] 反向范围字符匹配不在指定范围内任何字符。例如,”[^a-z]”匹配任何不在”a”到”z”范围内任何字符。 \b 匹配一个字边界,即字与空格位置。...\s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。 \S 匹配任何空白字符。与 [^ \f\n\r\t\v] 等效。 \t 制表符匹配

1.2K40

基础数据类型之String

在正式介绍String之前,我们先介绍下CharSequence char + sequence 就是字符序列意思 Java万事万物都是对象类型 而对于字符序列,也就是多个char, 这么一种东西...,当他们按照当初编码方式进行解码时,必然对应还是同样那个字符 操作系统文件都是以字节序列形式存储,所以任何一个文件都是有编码 比如你在txt文件输入了一个字符这个字符 底层就会使用指定编码存储到字节软件本身又把这个编码以字符形式呈现出来所以你才看得到是一个字符比如这个文件.../ 是否指定查找范围  8个方法 indexOf是从前往后匹配  匹配是第一个 如果指定了下标索引,从索引处往后找   返回值要  大于等于 索引 lastIndexOf是从后往前匹配  匹配是最后一个...) toLowerCase() toUpperCase(Locale) toUpperCase() split 根据匹配给定正则表达式来拆分此字符串子字符串按它们在此字符串中出现顺序排列如果表达式不匹配输入任何部分...n 大于 0,则模式将被最多应用 n - 1 次 数组长度将不会大于 n,而且数组最后一项将包含所有超出最后匹配定界符输入 如果 n 为正,那么模式将被应用尽可能多次数,而且数组可以是任何长度

74320

正则表达式快速入门

普通字符包括可打印字符(大小写字母、数字、部分特殊字符)和一些不可打印字符(比如换行符,制表符Tab和空格等),以及正则表达式规定特殊字符。...最少匹配 n 次且最多匹配 m 次o{1,3} 将匹配 fooooood 前三个o。o{0,1}等价于 o?。请注意在逗号和两个数之间不能有空格?当?紧跟在任何一个其他限制符(*,+,?...匹配不在指定范围内任意字符[^a-z]可以匹配任何不在 a 到 z 范围内任意字符\b匹配单词边界,指单词和空格位置。...正则表达式匹配”有两种概念:一种是匹配字符,一种是匹配位置,这里 \b 指匹配位置er\b 可以匹配 border er,但不能匹配 verb er\B匹配单词边界与 \b 功能相反...-9_]\W匹配任何单词字符

1.2K20

python_正则_re模块

\S :匹配任意字符 \d :匹配任意数字,等价于 [0-9]....\D :匹配任意数字 \A :匹配字符串开始 \Z :匹配字符串结束,如果是存在换行,只匹配到换行前结束字符串 \z :匹配字符串结束 \G :匹配最后匹配完成位置...\b :匹配一个单词边界,也就是指单词和空格位置。例如, 'er\b' 可以匹配"never" 'er',但不能匹配 "verb" 'er'。...\B :匹配单词边界。'er\B' 能匹配 "verb" 'er',但不能匹配 "never" 'er'。...\n :匹配一个换行符 \t :匹配一个制表符 \1...\9 :匹配第n个分组子表达式  小练习: 判断手机号码是否合法 根据手机号码一共11位并且是只以13、14、15、17、

46930
领券