"?:"在正则表达式中什么意思
来源:互联网 发布:农业物联网大数据平台 编辑:程序博客网 时间:2024/05/01 06:46
====================================================================================================================================================================================================================================================================(?:X)在正则中表示所匹配的子组X不作为结果输出正常情况(X)中的X会被作为新增的一个组序号输出,比如(A)(B),A的序号1,B的序号2如果(?:A)(B),A将没有序号不输出,B的序号为1
?: 是 不想被捕获的时候使用 可以提高程序执行速度比如 ([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+)=========================================================================================本文转自:http://blog.csdn.net/cui_shuang_xi/article/details/42529643
阅读全文
0 0
- "?:"在正则表达式中什么意思
- "?:"在正则表达式中什么意思
- 正则表达式中,[\s\S]* 什么意思
- java 正则表达式\\d什么意思
- 正则表达式(/\d+/g,"")什么意思
- 在ASP.Net中"../" "./" "~/"表示什么意思
- CONTENT: ''在CSS样式中什么意思
- setLayout(null)在java中什么意思
- c++中&什么意思
- delphi中@ 什么意思
- #ifndef 和#define 在C++中什么意思?
- 在makefile文件中,@$符号代表什么意思?
- 在makefile文件中,@$符号代表什么意思?
- 在linux中shell输入./vmware-install.pl什么意思
- 在makefile文件中,@$符号代表什么意思?
- 在makefile文件中,@$符号代表什么意思?
- windows系统中,在地址栏输入\\,什么意思?
- java 正则表达式 每个构造字符代表什么意思(合集(全))
- CI框架简单使用方法
- navicat中的mysql创建外键
- ECO: Efficient Convolution Operators for Tracking视频目标跟踪论文笔记(PPT版)
- 操作系统思维导图
- java.util.concurrent.CountDownLatch 的使用案例
- "?:"在正则表达式中什么意思
- Android攻城狮的第二门课(第3季)第2章 数据存储之SQLite
- rapidjson简单使用
- fzu-2266
- 精通MongoDB-索引与查询优化
- tensorflow运维(3):tensorflow1.0的一个bug:can't open CUDA library libcupti.so.8.0
- Tomcat8.5源码分析-ContextConfig
- php中curl模拟post提交多维数组
- 对话框