perl6正则 2: 字母,数字,空格和下划线

数字, 字母, 下划线

在perl6中, 如果是 数字, 字母, 下划线, 在正则里可以正接写上。

> so ‘perl6‘ ~~ /6/
True
> so ‘perl6_‘ ~~ /_/
True
>

数字, 字母, 下划线

如果不是数字、字母、 下划线, 可以用 \ 反斜线转义, 或用单、双相号包围。

>  ‘[email protected]‘ ~~ / name\@co /
锝ame@co锝?
>  ‘[email protected]‘ ~~ / name‘@‘co /
锝ame@co锝?
>  ‘[email protected]‘ ~~ / name"@"co /
锝ame@co锝?
>

 空格

空格默认是忽略的, 比如, /ab     cde/ 相等于 /abcde/。

> so ‘ab    cde‘ ~~ /ab    cd/
False
> so ‘ab    cde‘ ~~ /ab  \s  cd/
False
> so ‘ab    cde‘ ~~ /ab  \s+  cd/
True
>

<[]> / <-[]>字符集

用<[]>定义字符集, 范围符号用 ..

如果要取反, 可以用这种形式: <-[]>

> so  (‘abc1de‘ ~~ /<-[[email protected]#.?+$]>/)
False
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?+$]>/)
a
>

在字符集中, 不用转义圆点与非字母字符

> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~-]>/)
-
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~]>/)
-
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>/)
-
>

有一点要注意的就是: -  符号, 除了放在开头或结尾外, 在字符集中的其他地方要转义。 同样, 要转义的还有 / 符号。

当然, 量词 ? / * / + / **之类的也能用于一个字符集:

> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**3/)
-ab
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>?/)
-
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>+/)
-abc1de
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>*/)
-abc1de
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**2/)
-a
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**5/)
-abc1
>
时间: 2024-10-17 08:27:37

perl6正则 2: 字母,数字,空格和下划线的相关文章

为什么Java7开始在数字中使用下划线

JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000.在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误.对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000

python学习:判断字符串中字母数字空格的个数

'''输入一行字符,分别统计出包含英文字母.空格.数字和其它字符的个数. 统计出英文字母字符的个数 ''' # -*- coding: utf-8 -*- import re #正则表达式匹配 def isMathc(src,pat):     pattern = re.compile(pat)     result = re.match(pattern,src)     if result == None:         return 0     else:         return 1

计算字符串中字母数字空格等个数

本文主要是实现:输入字符串,计算它的字母.数字.空格和其他符号的个数 代码: #!/usr/bin/env python# -*- coding:utf-8 -*-# author by lh r=raw_input("请输入您要计算的字符串:") def func(s): all_alphanum=0 #初始化字母的总数为0 all_othersnum=0 #初始化其他字符总数为0 all_spacenum=0 #初始化空格的总数为0 all_digitnum=0 #初始化数字的总数

正则大小写字母数字必须有

不喜勿碰,请大牛指正 ^(?=[0-9a-zA-Z]*[a-z])(?=[0-9a-zA-Z]*[A-Z])(?=[0-9a-zA-Z]*\d)[0-9a-zA-Z]{6,20}$ 在线测试地址 原文地址:https://www.cnblogs.com/Doule/p/8631652.html

iOS @synthesize var = _var 变量前置下划线解释

本文转载至 http://blog.csdn.net/ztp800201/article/details/9231617 前置下划线是一种为了帮助区分实例变量和访问方法的约定.对于编译器来说它只是一种变量重命名而已. 考虑以下代码的区别(不使用ARC的情况下): self.date = [NSDate date]; // 正确,set方法首先释放原来的值 date = [NSDate date]; // 错误,省略set方法将导致内存泄露 _date = [NSDate date]; // 错误

word文档下划线无法显示的解决方法

在编辑文档的时候经常会遇到下划线无法显示的情况,如图: 如果遇到不能在姓名后面加下划线的情况,我们该怎么做? 请看下面的图解: 1.首先点击左上角的office图标 2.点击右下角"word选项" 3.点击"高级",将右侧进度条拉到最后,找到板式选项,并点击打开 4.打开"板式选项"选项卡之后,往下拉进度条,找到"为尾部空格添加下划线"选项,点击选择此项,确认空格内出现对号后,点击确定退出. 5.这时候,我们就可以随心所遇的为

PHP正则匹配6到16位字符组合(且只能为数字、字母、下划线)

php正则匹配6到16位的字符串. 只允许包含数字.字母.下划线组成的6到16位字符,符合返回ture,否则返回false. 解答: 6到16位,正则可以这样写:{6,16}. 任意的字符6到16位的正则表达式是这样:.{6,16} 仅允许数字.字母.下划线的组合,正则为:[0-9_a-zA-Z]   整合一下,完整的正则就是: ^[_0-9a-z]{6,16}$ 以下是应用此正则验证密码的例子. php; auto-links:false;"><?php /** * php正则验证

Java正则匹配数字和字母以及空格的组合

在一个输入字符串中查找“数字和字母以及空格的组合”,注意,是这三者同时出现,或者只有数字和字母同时出现而没有空格. 比如输入“hg 437 djj  第三款dufwf745 .dfn^894dk大姐夫iPhone 6s&&&&74854” 输出: hg 437 djj dufwf745 894dk iPhone 6s 以下代码可以实现 1 String s = "hg 437 djj 第三款dufwf745 .dfn^894dk大姐夫iPhone 6s&&

php 正则匹配包含字母、数字以及下划线,且至少包含2种

新系统注册功能需对用户名和密码做以下要求:包含字母.数字以及下划线,且至少包含2种: 在网上没有搜到符合要求的代码,于是自己对他人代码做了一点修改,经测试满足要求.代码如下: if (!preg_match('/^(?![0-9]+$)(?![_]+$)(?![a-zA-Z]+$)[A-Za-z_0-9]{1,}$/',$string)) { return ['result' => false, 'msg' => '只能包含字母.数字以及下划线,且至少包含2种']; } 原文地址:https: