php正则中的@是什么意思

<?php$s='/*aaaasss*/*/';preg_match('@/\*.*?\*/@s',$s,$match);var_dump($match);上面代码中的@... <?php

$s = '/*aaaa
sss
*/*/';

preg_match('@/\*.*?\*/@s', $s, $match);

var_dump($match);

上面代码中的@是什么意思?看他放的位置在正则表达式外面。另外@也不是元字符
展开
 我来答
紫薇参星
科技发烧友

2019-09-26 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3586万
展开全部
正则表达式中的@符号是定界符,就是表示正则表达式的边界,与原来的/符号作用相同,这里不用/符号作为定界符是因为正则表达式中有/符号需要转义符转义,
用@作为定界符,正则表达式中的/符号,就不需要转义符转义了.如果你把两个@定界符都换成~作为定界符,效果是一样的.
追问
还能这样用,那岂不是所有特殊字符都能当做定界符了?还是说能替换的只有@和~?另外定界符能够替换的特性是只有php才有吗?
追答
php中不是所有的字符都可以做定界符,做定界符的我见过的还有#字符.
能够替换定界符的语言,我知道的目前只有php和perl语言(perl语言的定界符可以用字母m自行指定).
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式