您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

新手请问:正则表达式反向引用的疑问

2024/2/23 5:19:23发布21次查看
新手请教:正则表达式反向引用的疑问
各位前辈,大家好!我是菜鸟,有事请教。
我最近在看《细说php》,看书里讲,正则表达式里的每个子表达式(用()包含起来的),在不添加任何非捕获元字符的情况下,是按照从左至右,每个子表达式的匹配结果存进缓冲区,并用编号\1至\99引用,不知道我这么描述对不对。现在有两个问题:
1、书上说,使用编号引用子表达式,要在编号前加反斜线转义,这条很纠结,我试的是不需要的,是不是跟什么版本有关系?
2、表达式中,某个子表达式加了元字符?:,这样就不会存储匹配结果,那么缓冲区的编号就不会加一,也就没办法用编号来引用,那么,可以重复调用这个子表达式吗?
感谢!
------解决方案--------------------
重复调用跟引用是一个意思吗? 如果是的话,你不是知道答案了吗。
------解决方案--------------------
/^([a-za-z]*)\d+\1$/
这不就是 在编号前加反斜线转义 吗?
你的第二问是这个意思吗?
/^(?=[a-za-z]+)\d+(?=[a-za-z]+)$/
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product