PHP 학습: 일반적인 반따옴표 및 이스케이프 문자에 대한 심층적인 이해

Robert De Niro
풀어 주다: 2023-04-06 11:20:01
앞으로
2649명이 탐색했습니다.

本篇文章主要讲述的是正则表达式的反引用和转义符的原理以及应用,具有一定的参考价值,感兴趣的朋友可以了解一下。

一、正则反引用

正则表达式,在PHP中我经常能用到。用的场景也很多,比如,正则匹配字符串,判断字符是否存在,正则替换等等。

例子一:

$string = 'abcd'; $re = preg_replace('/(a)/', '\1A',$string);echo $re;//结果 // aAbcd
로그인 후 복사

这里用到了正则的捕获组概念和反引用。

解释:

捕获组我们可以从第一个`(`向后数, 第一个括号里面匹配到的内容,我们可以用\1来引用,为了看的明显,特意拼接了`A`,其实我们还可以用$+数字来表示第几个捕获组。 这里可以用$1,效果和\1一样。

例子二:

$string = 'abcd'; $re = preg_replace('/(a)/', '$1B',$string); echo $re; //结果 //aBbcd
로그인 후 복사

二、转义符

什么是转义符?

在PHP中我们用 `\` 来转译一些特殊的字符。

例子三:

$string = 'abcd'; $re = preg_replace('/(a)/', '\1B',$string); echo $re;//结果 //aBbcd
로그인 후 복사

解释: 这里的\1把是作为捕获组的反引用。

例子四:

$string = 'abcd'; $re = preg_replace('/(a)/', '\\1B',$string); echo $re;//结果 //aBcd
로그인 후 복사

解释:这里的`\\1`,第一个`\`,转译了第二个`\`, 那么就成了 `\1B` , 其实效果和例子三的 `\1` 是一样的。

例子五:

$string = 'abcd'; $re = preg_replace('/(a)/', '\\\1B',$string); echo $re; //结果 //\1Bbcd
로그인 후 복사

解释:这里的`\\\1`,第一个`\`,转译了第二个`\`,那么就剩下了`\\1`,`\\` 输出 `\`,最后,就剩下 `1`了。

三、总结

1、PHP正则中的反引用,\1$1效果是一样的,我们都可以拿来用。

2、PHP正则中的转义符,当遇到多个`\`的时候,我们可以先"去掉"一个,然后,在去匹配。这样就好理解啦。

相关教程:正则表达式视频教程

위 내용은 PHP 학습: 일반적인 반따옴표 및 이스케이프 문자에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!