使用双阴性:

/[^\S\n]/

为避免平台差异在perlport中警告\w和\n的映射:

/[^\S\x0a\x0d]/

也就是说,对于排除CR和NL的模式,不是空白或不是新行和类似。

使用De Morgan定律分配外部非(即字符类中的补充\w),这相当于“空白而不是回车而不是换行”,但是不要相信我的话:

#! /usr/bin/env perl

use strict;

use warnings;

use 5.005; # for qr//

my $ws_not_nl = qr/[^\S\x0a\x0d]/;

for (' ', '\f', '\t', '\r', '\n') {

my $qq = qq["$_"];

printf "%-4s => %s\n", $qq,

(eval $qq) =~ $ws_not_nl ? "match" : "no match";

}

输出:

" " => match

"\f" => match

"\t" => match

"\r" => no match

"\n" => no match

请注意排除垂直制表符,但这在v5.18中已得到解决。

这个技巧对于匹配字母字符也很方便。 请记住,\w匹配“单词字符”,字母字符以及数字和下划线。 我们丑陋的美国人有时会想把它写成,比方说,

if (/^[A-Za-z]+$/) { ... }

但是双负字符类可以尊重语言环境:

if (/^[^\W\d_]+$/) { ... }

这有点不透明,因此POSIX字符类可能更好地表达意图

if (/^[[:alpha:]]+$/) { ... }

或者像szbalint建议的那样

if (/^\p{Letter}+$/) { ... }

android 正则匹配空格,正则表达式 - 匹配空格而不是换行符相关推荐

  1. mysql 正则 匹配_MySQL正则表达式匹配

    概述 正则表达式和MySQL有何关系?正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较.MySQL用where子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤sel ...

  2. JAVA正则校验加减乘除,正则表达式匹配加减法算法

    搜索热词 通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串. 输入字符串的格式为:"操作数1 运算符 操作数2","操作数"与&qu ...

  3. php正则配ip,正则表达式匹配IP的表达式(推荐)

    这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...

  4. tsql 正则_使用正则表达式匹配tsql注释语句

    使用正则表达式匹配tsql注释语句 让我们来看一些例子: 复制代码 代码如下: --获取表的count信息 select count(*) from T with(nolock) --获取特定值的co ...

  5. php 正则 规则,php 正则表达式匹配中文规则

    utf-8环 境下中文的匹配 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也 ...

  6. java正则匹配_JAVA正则表达式匹配括号

    JAVA的正则表达式目前还不支持平衡组,要实现匹配括号只有定制深度. 其原理就是不断循环匹配括号里的内容和括号后面的内容(\\([^\\(\\)]*\\)[^\\(\\)]*)* 例子: //匹配二级 ...

  7. java正则匹配url_正则表达式匹配URL

    最近在做一些关于URL匹配的项目,本来对正则表达式了解的不多,上网搜索了好多前辈写的正则表达式,发现很少能被我使用的,现将我自己写的正则表达式贴出来,供大家参考. %% 首先,正则表达式: Strin ...

  8. java 完全匹配,Java 正则表达式匹配模式(贪婪型、勉强型、占有型)

    Greediness(贪婪型):最大匹配 X?.X*.X+.X{n,} 是最大匹配.例如你要用 "<.>" 去匹配 "a aava abb",也许你 ...

  9. 换行符后需要加逗号吗c语言,为什么大多数编程语言都在换行符之前而不是换行符之后使用逗号?...

    为了解释为什么提出这个问题,我将解释python3常用的多行列表/字典符号以及实际的语法定义是什么. 这是python3中最常用的多行列表符号: list_variable = [ 'value1', ...

最新文章

  1. html刷新页面出现412,html5-video – 如何修复412(前置条件失败)错误HTML5视频标记
  2. MySQL二进制日志的三种模式解析
  3. webpack ,gulp
  4. 木七七施辰刚:我是这样将玩家次留提升了 5% 的
  5. Android Activity:四种启动模式,Intent Flags和任务栈(转自他人博客)
  6. 【翻译】.NET 5 Preview8发布
  7. html 甘特图_Rplotly|交互式甘特图(Gantt chart)项目管理/学习计划
  8. 0623TP框架联系
  9. 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完
  10. 小区移动基站能否杀人于无形?
  11. java规范 控制语句
  12. C#快速排序源码演示
  13. win10计算器rsh_win10 自带计算器快捷键有哪些_windows10计算器快捷键汇总
  14. html项目组成员分工情况,课题研究小组成员分工怎么写
  15. 以太坊漏洞分析————4、底层函数误用漏洞
  16. 决战平安京解包--专有模型格式转换成PMX
  17. 聊聊保证线程安全的10个小技巧
  18. Arcpy基础入门-6、arcpy要素属性操作
  19. 安装Arch(含输入法配置)
  20. 图片转换为矩阵/矩阵转换为图片

热门文章

  1. 一生要做的99件事、要看的50部电影
  2. iPhone、iPad强制关机
  3. ArcGIS——连接Excel表格的数据
  4. vue 画一个小圆点
  5. Arduino基础篇(九)-- 无刷直流电机转速和方向控制
  6. H5新特性(二)——Canvas
  7. 售前工程师——2.26
  8. php 缩略图生成类,php生成图片缩略图类
  9. 第四节 红帽认证培训 新手必须掌握的Linux命令(2.7-2.8)+管道符、重定向
  10. 华为首批鸿蒙系统手机,华为鸿蒙首批升级机型名单曝光 华为6月将正式发布鸿蒙手机操作系统...