解决正则表达式\w和\d的疑惑

<?php
$string='April15,2003';
$pattern='/(\w+)(\d+),(\d+)/i';
$replacement='${1},${3}';
echo preg_replace($pattern,$replacement,$string);
?>

这个表达式的结果为April1,2003

原因:(\w+)能够完整匹配April15,但是因为在(\w+)后面有(\d+),为了能够匹配定义的规则,(\w+)会匹配April1,(\d+)会匹配5
可以换个表达式避免出现这种情况如:

$pattern='/([a-z])(\d+),(\d+)/i';

以上就是关于正则表达式\w和\d的疑惑全部内容,感谢大家对我们的支持。

(0)

相关推荐

  • PowerShell中使用正则和ValidateSet验证参数合法性

    适用于PowerShell 2.0或着更高版本 当你使用PowerShell 创建了一个函数时,要确保你告诉PowerShell 你的参数期望什么样的值.比如你想用户输入星期 复制代码 代码如下: function Get-Weekday {   param   (     $Weekday   )      "You chose $Weekday" } 此时用户可以输入任何值,即使这个值不是一个合法的星期,比如星期七 复制代码 代码如下: PS> Get-Weekday -We

  • Shell正则表达式之grep、sed、awk实操笔记

    最近一直在研究shell脚本这块,刚好闲下来整了下自己手头上比较好的资料中的一些范例,以下是我整理的鸟哥私房菜里面正则表达式里面比较基础的一些语法详解,适合新手查阅. 首先先复制一段范例: 复制代码 代码如下: # vi regular_express.txt ------------------------------- "Open Source" is a good mechanism to develop programs. apple is my favorite food.

  • DW 查找某字符串前的所有字符的正则表达式

    我使用DW 这个所见所得的编辑器来写html时,喜欢写上注释,如<!-- header --> 等等的注释,在一次比较大的改动时,需要批量查找替换,为了批量操作,于是我写了一个正则表达式来进行处理. 查找: 复制代码 代码如下: (\r\n|\n|.)*?<\!-- header --> 效果如图: 还有一个常用的就是字符串之间的字符 如:查找<!-- header start --> 到<!-- header end -->之间的字符,包括换行. 查找:

  • php password密码验证正则表达式(8位长度限制)

    复制代码 代码如下: <?php //密码验证 $password = "zongzi_Abc_oo13a2"; $n = preg_match_all("/^[a-zA-Z\d_]{8,}$/",$password,$array); //长度是8或更多 var_dump($array); ?>

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

    对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云. 其实只是对正则不了解而以,了解了你就会发现,原来就这样啊正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,本文旨在让大家对正则有一个基本的了解,能看得懂简单的正则表达式,写得出简单的正则表达式,用以满足日常开发中的需求即可. 什么是正则表达式 正则表达式是一种特殊的字符串模式,用于匹配一组字符串

  • 解决正则表达式\w和\d的疑惑

    <?php $string='April15,2003'; $pattern='/(\w+)(\d+),(\d+)/i'; $replacement='${1},${3}'; echo preg_replace($pattern,$replacement,$string); ?> 这个表达式的结果为April1,2003 原因:(\w+)能够完整匹配April15,但是因为在(\w+)后面有(\d+),为了能够匹配定义的规则,(\w+)会匹配April1,(\d+)会匹配5 可以换个表达式避免

  • 正则表达式\w元字符使用介绍

    正则表达式\w元字符: \w元字符用来匹配单词字符,它等价于"[a-zA-Z0-9]". 语法结构: 构造函数方式: new RegExp("\\w") 对象直接量方式: /\w/ 浏览器支持: IE浏览器支持此元字符. 火狐浏览器支持此元字符. 谷歌浏览器支持此元字符. 实例代码: 实例一: var str="antzone<12>love"; var reg=new RegExp("\\w","g&q

  • 正则表达式\W元字符使用方法

    正则表达式\W元字符: \W(大写)用来匹配非单词字符,它等价于"[^a-zA-Z0-9_]". 语法结构: 构造函数方式: new RegExp("\\W") 对象直接量方式: /\W/ 浏览器支持: IE浏览器支持此元字符. 火狐浏览器支持此元字符. 谷歌浏览器支持此元字符. 实例代码: 实例一: var str="antzone<12>love"; var reg=new RegExp("\\W","

  • 55分钟学会正则表达式

    什么是正则 正则表达式是一种用来描述一定数量文本的模式,用来匹配相同规范样式的文本.在JavaScript中用RegExp对象表示正则表达式( 即Regular Eexpression),它是对字符串执行模式匹配的强大工具. 正则表达式是一种查找以及字符串替换操作.正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: 检查文本中是否含有指定的特征词 找出文中匹配特征词的位置 从文本中提取信息,比如:字符串的子串 修改文本 与文本编辑器相似,几乎所有的高级编程语言都支持正则表达式.在这样的语境

  • 55分钟学会正则表达式(来自Github)

    推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:http://www.pyregex.com/ Regexper:http://www.regexper.com/ 正则表达式是一种查找以及字符串替换操作.正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: 检查文本中是否含有指定的特征词 找出文中匹配特征词的位置 从文本中提取信息,比如:字符串的子串 修改文本 与文本编辑器相似,几乎所有的高级编程语言都支持正则表达式.在这样的

  • 超详细讲解python正则表达式

    目录 正则表达式 1.1 正则表达式字符串 1.1.1 元字符 1.1.2 字符转义 1.1.3 开始与结束字符 1.2 字符类 1.2.1 定义字符类 1.2.2 字符串取反 1.2.3 区间 1.2.4 预定义字符类 1.3 量词 1.3.1 量词的使用 1.3.2 贪婪量词和懒惰量词 1.4 分组 1.4.1 分组的使用 1.4.2 分组命名 1.4.3 反向引用分组 1.4.4 非捕获分组 1.5 re模块 1.5.1 search()和match()函数 1.5.2 findall()

  • python 正则表达式的使用

    目录 1.正则表达式 1.1 正则表达式字符串 1.1.1 元字符 1.1.2 字符转义 1.1.3 开始与结束字符 1.2 字符类 1.2.1 定义字符类 1.2.2 字符串取反 1.2.3 区间 1.2.4 预定义字符类 1.3 量词 1.3.1 量词的使用 1.3.2 贪婪量词和懒惰量词 1.4 分组 1.4.1 分组的使用 1.4.2 分组命名 1.4.3 反向引用分组 1.4.4 非捕获分组 1.5 re模块 1.5.1 search()和match()函数 1.5.2 findall

  • js正则表达式验证大全(收集)

    引用网址  http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html 以下函数调用方式: function check() { var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID alert(ismobile(bb));//ismobile 代表以下任何一个函数名称 } HTML代码:   <input type=

  • js 常用正则表达式表单验证代码

    正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字. 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表

随机推荐