正则表达式替换花括号内的点?

时间:2016-05-31 09:38:47

标签: regex

是否可以使用下划线替换点,但仅使用正则表达式在花括号内?

TypeError: a bytes-like object is required, not 'str'

花括号总是平衡的,总会有两个开放的花括号和两个封闭的花括号。

3 个答案:

答案 0 :(得分:2)

您可以使用此前瞻性正则表达式进行搜索:

\.(?=[^{}]*\})

Lookahead (?=[^{}]*\})声称在0个或更多非}和非{个字符后面前有}

并替换为_

RegEx Demo

答案 1 :(得分:1)

您可以使用\G之类的(假设.仅在{{内并且没有嵌套)

(?:(\{\{)|\G(?!\A))([^.}]*)[.]

并替换为

\1\2_

<强> Regex Demo

答案 2 :(得分:0)

如果你假设点之间有一个字符使用: 搜索:({{。)。(。)。(。}}) 替换为:\ 1_ \ 2_ \ 3 如果是一个或多个: 搜索:({{+)(+)(+}。}) 用同样的替换