近期从事检索工作,需要相应用户的输入请求,返回结果。由于难以预料用户的输入内容,如果不加过滤处理,在检索阶段很可能抛出异常。

用户的输入可能风格迥异,最常见的可能算是夹杂各种标点符号的输入了。怎样过滤?

在csdn论坛上面看到一贴,综合了一下,得到了下面的正则表达式,也许会帮助你解决问题:

\\pP|\\pS

我们用一个例子演示此正则表达式用法:

public static void main(String[] args){

String string="测试<>《》!*(^)$%~!@#$…&%¥—+=、。,;‘’“”:·`文本";

System.out.println(string.replaceAll("\\pP|\\pS", ""));

}

输出结果为:

测试文本

参考的主要内容如下:

Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

/pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。

其他六个是

L:字母;

M:标记符号(一般不会单独出现);

Z:分隔符(比如空格、换行等);

S:符号(比如数学符号、货币符号等);

N:数字(比如阿拉伯数字、罗马数字等);

C:其他字符

上面这七个是属性,七个属性下还有若干个子属性,用于更进一步地进行细分。

Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。

Unicode 正则表达式标准(可以找到所有的子属性)

http://www.unicode.org/reports/tr18/

各 Unicode 字符属性的定义,可以用一看看某个字符具有什么属性。

http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性,

以及其他一些字符信息。

java正则表达标点符号_用正则表达式去除标点符号相关推荐

  1. java正则表达 替换_正则表达式 replace()替换

    标签: 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replaceme ...

  2. java 正则判断二进制_用正则表达式判断一个二进制数是否能被3整除

    我们之前已经见过了正则表达式的一些很特殊的用法.这里我们再来看一个:用正则表达式判断数的整除性.例如,下面这个表达式可以匹配01串S当且仅当S是一个可以被3整除的二进制数. ^1((10*1)|(01 ...

  3. java 正则 单个字符_正则表达式教程之匹配单个字符详解

    本文实例讲述了正则表达式教程之匹配单个字符.分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的[和]之间,有的例子会使用Java来实现,如果是java本身正则表达式的 ...

  4. java正则开头结尾_以m开头以d结尾的正则表达式-正则表达式以什么开头-正则表达式不以0开头...

    正则表达式:数字开头中间字母结尾数字 如果你的结尾数字是多个也可以的话,你就要再加上一个+号,另外,中间的字母允许大写幺?允许的话要再加上A-Z,所以你可以改这样试试: "^[0-9]+[a ...

  5. java 正则 惰性匹配_正则表达式 - 贪婪与非贪婪(惰性)

    使用场景 有时,我们想用正则匹配以某个子串开头,且以某个子串或字符结尾的子字符串,但是结尾的字串或字符在原字符串中出现了多次,但我们只想匹配从开始处到第一次出现的地方,换句话说,想得到开始和结尾之间内 ...

  6. java正则任意字符_正则表达式匹配任意字符(包括换行符)的写法

    今天在Java中想使用正则表达式来获取一段文本中的任意字符.于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,". ...

  7. java正则匹配公司名称_【已解决】Java的正则表达式java.util.regex中的命名的组(named group)...

    [问题] 在折腾: 的过程中,需要用到命名的组,另外还用到替换中的引用命名的组. 想要搞懂如何使用. [解决过程] 1. 最开始是参考,官网手册: 中,并没有看到,如何使用命名的组. 2.参考: 得知 ...

  8. java 正则提取邮箱_如何用正则表达式提取一个网站里面的所有邮箱地址?

    展开全部 用正则表达式提取一个网站里面的所有邮箱地址e68a8462616964757a686964616f31333337616565 import java.io.BufferedReader; ...

  9. java正则出现次数_正则表达式(二)—匹配次数的正则

    正则表达式 匹配次数的正则 在前一篇文章中,我们总结了和位置相关的正则,在这篇文章中,我们将继续学习正则表达式其它的内容. 假如现在给你一个regular_1.txt文件,让你找出含有连续2个a的行, ...

  10. java 正则 工具类_正则表达式工具类,正则表达式封装,Java正则表达式

    正则表达式工具类 正则表达式封装 Java正则表达式 >>>>>>>>>>>>>>>>>>& ...

最新文章

  1. Java项目:控制台商城系统(java+打印控制台)
  2. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
  3. 正则 不区分大小写_4.nginx的server_name正则匹配
  4. Oracle 数据库版本和位数sql语句查看方法
  5. mysql数据库实现主从复制
  6. ubuntu19.10安装阿里旺旺
  7. 软件测试理论入门(一)
  8. ecshop彻底去版权把信息修改成自己的全教程
  9. laravel邮件服务
  10. “寒门状元之死”文章引热议 京东徐雷:三流文学作品 多看书吧
  11. java方法里面能改定时器的时间吗_Kafka 时间轮的原理和实现
  12. 神龙神龙你擦亮眼,阿里巴巴要“上天”!
  13. (一)UI设计的一些常识
  14. Visio2019自动闪退问题
  15. 用python.turtle画中国地图
  16. 我的疫情时代——记在家的那个学期
  17. SQL语句查询出现异常,SQL语句:*** 给定关键字不在字典中。
  18. React中useEffect的简单使用
  19. DDI(DNS、DHCP和IPAM)解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. python excel条件格式_关于python调用Excel“条件格式”——二探openpyxl

热门文章

  1. 研究了1天的ckfinder记录
  2. 【摄影与图像】444,422,420,10bit,8bit,RGB,YCrCb,场序,h264编码,封装,码率,PR常用配置
  3. 过渡属性transition详解
  4. 明源软件热忱欢迎您的加入---2011年校园招聘
  5. 没有互联网的济南,要怎么从冬天走向春天?
  6. 济南推动大数据产业发展 居民生活将有新变化
  7. 【渗透测试实战】—社会工程学利用详解
  8. pb公共变量怎么找_pb 实用方法
  9. piranha启动报错
  10. 圣丹斯电影节2019:讲故事,不断发展。