正则表达式中的深度嵌套组
Deeply-nested groups in RegEx
我正在回答一个问题,我得到了tenub的评论。
评论是:
您是否需要使用 ${1}000,因为前缀内容也由数字组成?
所以如果我使用这个正则表达式。(不要追求实用性。这是故意的这个问题)
^(((((((((((.{3})))))))))))
所以在字符串"some string"
.$1
$11
包含的组。 "som"
.
现在,如果我想像 some1 字符串一样替换上面的字符串,我会这样做:
$11 // Group 1 followed by my replace string "1"
但是,这与第11组相匹配,该组也由$11
表示。
我知道回调函数,但我需要知道是否有任何特定的正则表达式。
所以,我的问题:
- 是否有任何特殊的语法,以便替换字符串
1
和由$11
表示的 Group11 之间没有冲突 - 为什么这样的嵌套组在正则表达式中有效。使用嵌套组的测试用例有哪些?
您可以将0
附加到匹配组以解决歧义。根据 MDN,您只能有 1 或 2 位反向引用。
"some string".replace(/^(((((((((((.{3})))))))))))/, '$011');
'' => "som1e string"
相关文章:
- BatmanJS:深度嵌套路由
- Chai深度包含了对嵌套对象的断言
- JavaScript中的深度嵌套函数
- 深度嵌套的backbone.js对象会导致错误
- 编码为深度嵌套对象的 HTML 字段 json
- javascript中嵌套对象的深度复制数组
- 使用underscore.js在深度嵌套的JSON中查找值
- 如何访问Vue.js中深度嵌套的子组件中的数据
- AngularJS:具有任意深度的嵌套列表
- 如何将新项推送到不可变JS中的深度嵌套记录中
- Ramda js:用于具有嵌套对象数组的深度嵌套对象的镜头
- 如何访问深度嵌套的 JSON 对象中的项目
- 平展深度嵌套的对象数组
- 如何在不可变JS中存储和更新深度嵌套的结构
- 使用 lodash 按属性名称提取深度嵌套的子对象
- 具有深度嵌套集合的 Angular 性能和数据绑定
- 下划线.js :深度嵌套对象中的匹配字符串
- JavaScript承诺:具有绑定的深度嵌套上下文(this)
- 如何遍历DOM以确定最大嵌套深度
- d3.js-确定嵌套深度(或子对象的子对象)