已知数据为___(1)___rcos(a+b)___(1)___测试转换___(1)___
求正则表达式转换为___(1)___rcos(a+b)___(2)___测试转换___(3)___
根据下划线和括号为开始结尾标识,其他包含括号的不需要转
已知数据为___(1)___rcos(a+b)___(1)___测试转换___(1)___
求正则表达式转换为___(1)___rcos(a+b)___(2)___测试转换___(3)___
根据下划线和括号为开始结尾标识,其他包含括号的不需要转
var count = 1;
`已知数据为___(1)___rcos(a+b)___(1)___测试转换___(1)___(5)___`
.split(/___(.*?)/)
.map(item =>
item.match(/\(*\)/) ? item.replace(/\(.*\)/, `(${count++})`) : item
)
.join("__");
// => 已知数据为___(1)___rcos(a+b)___(2)___测试转换___(3)___
demo('已知数据为___(1)___rcos(a+b)___(1)___测试转换___(1)___')
function demo (str) {
let index = 0;
return str.replace(/(_().*?()_)/g, function (g, $1, $2) {
return $1 + ++index + $2
})
}
由1楼的思路而来,如果你需要拿到中间的值做处理,还是用三个组比较好
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决