正则表达式 \w \d 的意义

对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云。

其实只是对正则不了解而以,了解了你就会发现,原来就这样啊正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,本文旨在让大家对正则有一个基本的了解,能看得懂简单的正则表达式,写得出简单的正则表达式,用以满足日常开发中的需求即可。

什么是正则表达式

正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符。

在查阅很多相关正则的描述之后,发现对于\w 的释义都是指包含大 小写字母数字和下划线 相当于([0-9a-zA-Z])

但是在实际使用中发现并不是这么回事,也可以说,其实不仅仅包含([0-9a-zA-Z_])这些数据,

下面是测试截图 工具为editplus:

实际是除了([0-9a-zA-Z_])还包含了希腊字母,俄文的字母等;
所以 如果在用户信息注册的时候 需要注意 具体匹配的数据 切不可直接用\w就完事了
PS:下面看下正则表达式 \w \s \d \b
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字 等价于 ‘[^A-Za-z0-9_]‘。
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
\w能不能匹配汉字要视你的操作系统和你的应用环境而定

北京网站建设 http://www.wangzhanjianshegs.com/

时间: 2024-10-08 04:05:25

正则表达式 \w \d 的意义的相关文章

正则表达式\w并不完全等于[A-Za-z0-9]

原文地址:http://blog.csdn.net/sinat_34719507/article/details/54430555 一般大家在书本上还是网上资料正则表达式中\w都被介绍为匹配任何单词字符,包括字母和下划线,等效于[A-Za-z0-9].   今天偶然间发现会员注册中出现了一个恶作剧账号"аdmin",注意到那个а了没?那是一个俄文字母,在会员注册过滤中使用\w验证并不能防止.   也就是说\w包括了英文字母以及俄文字母等,在会员注册这块我们肯定不希望类同的账号出现,要不

正则表达式——特殊符号及其意义

1.非打印字符 \cx 匹配由x指明的控制字符. \cM:匹配一个control-M或回车符 x 的值必须为 A-Z 或   a-z 之一.否则,将 c 视为一个原义的 'c' 字符. \f 匹配一个换页符,等价于\x0c   \cL \n 匹配一个换行符,等价于\x0a   \cJ \r 匹配一个回车,等价于\x0d   \cM \s 匹配一个任意空白字符,等价于[\f\n\r\t\v] ^\s*\s$:匹配开头和结尾的空白字符 \S 匹配一个任意非空白字符,等价于[^\f\n\r\t\v]

re 模块, 正则表达式 \w+\d+ 的重复问题引发的题目解析

题目 计算以下代码的结果 s = "?!.18)dajslj$12.15613sdadw.123sdasda35615.168sndsda$15.6sdasd.sdfsdgw123.156s" p1 = re.compile("\w+\.\w+\d+\.+\d+") print(p1.findall(s)) p1 = re.compile("(\w+)\.(\w+)((\d+)\.+\d+)") print(p1.findall(s)) 答案 #

通配符与正则表达式元字符的理解及grep的实例应用

什么是通配符(glob)?     通配符是Linux shell中用来描述(匹配)不确定字符的特殊符号. 看看具体通配符是如何描述字符?     *       代表任意字符任意次数     ?       代表任意单个字符0次或者1次     []      代表括号中存在的任意单个字符     [!]     代表非括号中存在的任意单个字符     [^]     代表指定范围外的任意单个字符     [a-z]   代表所有单个小写字母     [A-Z]   代表所有单个大写字母   

vim 和grep 正则表达式相似和区别

正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符.元字符使正则表达式具有处理能力.所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式. vim元字符 grep 元字符 说明 ^ ^ 匹配输入字符串的开始位置 $ $ 匹配输入字符串的开始位置 * * 匹配前面的子表达式0次或n次(n>0) \+ \+ 匹配前面的子表达式1次或n次(n>1) \? \? 匹配前面的子表达式0次或1次 \{n} \{n\}

正则表达式3

正则表达式用于字符串处理.表单验证等场合,实用高效.本文收集了一些常用的表达式: $str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", '\1<span>\2</span>\3', $str); 其中用了三个子模式(每个圆括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是</a> 然后第二个参数中\1.\2.\3就表示这三个部分,要替换成什么样子还不简单? 获取页面

系统地学习正则表达式

                                    什么是正则表达式 正则表达式就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",用来表达对字符串的一种过滤逻辑. 通过正则表达式可以达到如下的目的: 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"): 可以通过正则表达式,从字符串中获取我们想要的特定部分. 为了让大家更方便地学习,先推荐一个验证正则表达式的软件Regextor,具体可以看我的这篇文章,里面还推荐

正则表达式介绍

1 正则表达式介绍 在JavaScript中,正则表达式是一个用来 匹配 的 并包含 元字符或普通字符 的字符串对象. 在JavaScript中,正则表达式是对象. 使用正则表达式的目的:提高效率 1.1 正则表达式的作用 1 匹配 2 提取 3 替换 1.2 识别正则表达式 "123" "abc" "just do IT" 1.3 元字符 在正则表达式中具有特殊意义的专用字符 符号 含义 基本元字符   . 匹配除换行符外的任意单个字符 (x)

55分钟学会正则表达式

原文地址-Sam Hughes 翻译水平有限,如有谬误,欢迎评论斧正或者Pull Request. 正则表达式(“regexes”)即增强查找/字符串替换操作.当在文本编辑器中编辑文字时,正则表达式经常用于: 检查文本是否包含一个给定的模式 查找任何匹配的模式 从文本中拉取信息(比如截断) 修改文本 和文本编辑器一样,绝大多数高级编程语言支持正则表达式.在本文中,“文本”仅仅是一个字符串变量,但是有效的操作却是一致的.某些编程语言(Perl,JavaScript)甚至为正则表达式提供专用的语法.