“?:”非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用。
单独的“?”:匹配前面的子表达式零次或一次。
当“?”紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。
扩展资料
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
参考资料来源:百度百科:正则表达式
yongirl320
推荐于2017-10-09
推荐于2017-10-09
展开全部
比如 ([a-z][0-9])+
这个正则表达式里 ( ) 里面的内容被捕获了, 反向引用的时候可以用上 。
一般正则替换的时候用的多 像UBB代码
但是 如果写成 (?:[a-z][0-9])+
跟上面 正则表达式 整体匹配是一样的 就是 不会捕获 ( )里内容了。
也就是不能使用 反向引用
如果还是不太理解, 那就先了解一下 反向引用吧。
追问
不理解。能不能详细点。
追答
比如 PHP 手册里 有个 正则替换的函数 preg_replace 有的列子
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
// 结果显示 April1,2003
这里就用上了 反响引用
$replacement 里的 ${1} 代表 (\w+) , $3代表 第2个 (\d+)
这个正则表达式 里 一共有 3个 () 也就是 可以 用 $1 $2 $3 调用 3个()里的 内容。
也可以使用 \1 \2 \3 来 代替 $1 $2 $3 都是一样的
那接下来 如果把 代码里的 正则表达式 改成下面的
$pattern = '/(?:\w+) (?:\d+), (\d+)/i';
那 这里 只有 一个 () 里的 内容 能使用
带 ?:的 ()里面内容是不会被 捕获的 ,所以 只能使用 $1 代表最后的 (\d+)
相关推荐
在正则表达式中,元字符表示在正则表达式中不代表其字面含义,而是具有特别意义的字符。例如句点(.)、中括号字符([])、反斜线(\)等都是元字符。为了使用元字符的字面意思,需要进行转义,例如使用反斜线(\)...
在Java中,正则表达式是一种非常有用的技术,它可以帮助开发者快速匹配和提取字符串中的内容。但是,正则表达式也是一种非常复杂的技术,需要开发者具备一定的基础知识和经验。 为了帮助开发者更好地掌握Java正则...
在正则表达式字符串中,许多字符有特殊的意思。例如,有一个特殊的字符表示“行的开始”。Source Insight支持两种不同的正则表达式语法:“Source Insight”和“Perl Compatible”。 在正则表达式中,有一些特殊的...
正则表达式文档 正则表达式是一个描述字符模式的对象...在JavaScript中,正则表达式是由一个RegExp对象表示的,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript正则表达式直接量来定义正则表达式。
### 正则表达式在JavaScript中的应用:限制文本框只能输入数字及小数点 在Web开发中,经常需要对用户输入的数据进行合法性验证。为了确保数据格式正确且符合预期,开发者通常会在前端使用JavaScript结合HTML来实现...
正则表达式的应用非常广泛,在很多软件中得到广泛的应用,包括*nixnix(Linux, Unix 等),HP 等操作系统,PHP,C#,Java 等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。正则表达式的使用,可以...
继上几篇正则表达式相关说明(详情:正则表达式 ),我们今天继续讨论下,它的单行,多行模式使用,及容易出现错误地方。单行,多行模式,都是正则表达式的模式修饰符里面出现的参数。目前常用正则表达式都有该使用...
6. 选择:在正则表达式中,使用`|`来表示选择,即“或”的意思,表示匹配左边或右边的表达式。 7. 后向引用:在正则表达式中,可以通过括号`()`来创建一个子表达式,后向引用可以引用前面的子表达式。例如,`(\d)\1...
正则表达式(Regular Expression)是一种模式匹配工具,用于在文本中查找、替换或提取符合特定规则的字符串。在IT行业中,正则表达式被广泛应用于数据验证、文本处理、爬虫程序等领域,特别是在判断手机号码和邮箱...
在提供的`083`文件中,可能包含了示例代码或更深入的正则表达式教程,建议你下载并研究,以加深对正则表达式验证小写字母的理解和应用。记住,实践是检验真理的唯一标准,多做练习,才能真正掌握这个强大的工具。
在正则表达式中,有一些非常重要的特殊字符,它们被称为元字符,这里总结一些最重要的特殊符号及其含义: 1. .(点):匹配任意单个字符(除换行符外)。 2. [](字符类):匹配括号中的任何一个字符,如[a-z]匹配...
- **或者(|)**:在正则表达式中,“|”符号代表“或者”的意思,用来表示多种可能的匹配模式。例如,`e|Delphi|0` 将匹配 "e", "Delphi" 或 "0"。 - **重复(+)**:在正则表达式中,“+”符号表示一个或多个...
比较准确的判断家庭住址是否正确,较网上的更新了,简单明了方便使用
5. 正则表达式的应用:正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix 等),HP 等操作系统,PHP,C#,Java 等开发环境,以及很多的应用软件中。 6. 正则表达式的匹配规则:包括基本模式匹配、...
检索是移动开发经常遇到的问题,熟悉正则表达式的运用特别重要,此表可以帮助学习正则表达式的抽象意思
文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 用于在其中搜索的字符串 对正则表达式或其中一部分的说明清除格式 ●什么是正则表达式? 在编写处理字符串的程序或网页时,...
然而,具体到“精通正则表达式(第三版)”这本书,我们可以进一步探讨正则表达式的概念及其在编程中的应用。 ### 正则表达式基础 正则表达式是一种强大的文本处理工具,能够帮助开发者执行复杂的字符串搜索和替换...
在IT行业中,掌握正则表达式是提高工作效率的重要技能之一。 正则表达式工具通常具备以下功能: 1. **模式构建**:提供用户友好的界面,帮助用户构建复杂的正则表达式,通过预览功能实时查看匹配结果。 2. **语法...