android 正则匹配空格,正则表达式 - 匹配空格而不是换行符
使用双阴性:
/[^\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 正则匹配空格,正则表达式 - 匹配空格而不是换行符相关推荐
- mysql 正则 匹配_MySQL正则表达式匹配
概述 正则表达式和MySQL有何关系?正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较.MySQL用where子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤sel ...
- JAVA正则校验加减乘除,正则表达式匹配加减法算法
搜索热词 通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串. 输入字符串的格式为:"操作数1 运算符 操作数2","操作数"与&qu ...
- php正则配ip,正则表达式匹配IP的表达式(推荐)
这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...
- tsql 正则_使用正则表达式匹配tsql注释语句
使用正则表达式匹配tsql注释语句 让我们来看一些例子: 复制代码 代码如下: --获取表的count信息 select count(*) from T with(nolock) --获取特定值的co ...
- php 正则 规则,php 正则表达式匹配中文规则
utf-8环 境下中文的匹配 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也 ...
- java正则匹配_JAVA正则表达式匹配括号
JAVA的正则表达式目前还不支持平衡组,要实现匹配括号只有定制深度. 其原理就是不断循环匹配括号里的内容和括号后面的内容(\\([^\\(\\)]*\\)[^\\(\\)]*)* 例子: //匹配二级 ...
- java正则匹配url_正则表达式匹配URL
最近在做一些关于URL匹配的项目,本来对正则表达式了解的不多,上网搜索了好多前辈写的正则表达式,发现很少能被我使用的,现将我自己写的正则表达式贴出来,供大家参考. %% 首先,正则表达式: Strin ...
- java 完全匹配,Java 正则表达式匹配模式(贪婪型、勉强型、占有型)
Greediness(贪婪型):最大匹配 X?.X*.X+.X{n,} 是最大匹配.例如你要用 "<.>" 去匹配 "a aava abb",也许你 ...
- 换行符后需要加逗号吗c语言,为什么大多数编程语言都在换行符之前而不是换行符之后使用逗号?...
为了解释为什么提出这个问题,我将解释python3常用的多行列表/字典符号以及实际的语法定义是什么. 这是python3中最常用的多行列表符号: list_variable = [ 'value1', ...
最新文章
- html刷新页面出现412,html5-video – 如何修复412(前置条件失败)错误HTML5视频标记
- MySQL二进制日志的三种模式解析
- webpack ,gulp
- 木七七施辰刚:我是这样将玩家次留提升了 5% 的
- Android Activity:四种启动模式,Intent Flags和任务栈(转自他人博客)
- 【翻译】.NET 5 Preview8发布
- html 甘特图_Rplotly|交互式甘特图(Gantt chart)项目管理/学习计划
- 0623TP框架联系
- 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完
- 小区移动基站能否杀人于无形?
- java规范 控制语句
- C#快速排序源码演示
- win10计算器rsh_win10 自带计算器快捷键有哪些_windows10计算器快捷键汇总
- html项目组成员分工情况,课题研究小组成员分工怎么写
- 以太坊漏洞分析————4、底层函数误用漏洞
- 决战平安京解包--专有模型格式转换成PMX
- 聊聊保证线程安全的10个小技巧
- Arcpy基础入门-6、arcpy要素属性操作
- 安装Arch(含输入法配置)
- 图片转换为矩阵/矩阵转换为图片