正则表达式:查找括号内同一字符串的所有匹配项
Regexp: find all occurences on same string inside brackets
我已经几天尝试写一些正则表达式来替换括号内的所有 :,请帮助我,所以我有字符串:
render('MyBundle:Default:index.html.twig')
or render('MyBundle::Default::index.html.twig')
我怎样才能得到所有的 : 并将其替换为 / ?
我在尝试类似的东西:
render\(.*([:])
但它只找到最后一个 :
在一般情况下,它看起来像
(?:\G(?!^)|render\(')[^':]*\K:+
见regex demo。如果您需要将每个 :
替换为 /
.
,请删除最后一个 +
详情:
(?:\G(?!^)|render\(')
- render\('
或上一场比赛结束
[^':]*
- '
和 :
以外的零个或多个字符
\K
- 丢弃到目前为止匹配的文本的匹配重置运算符
:+
- (唯一最终放入匹配值并最终被替换的文本)一个或多个冒号。
我已经几天尝试写一些正则表达式来替换括号内的所有 :,请帮助我,所以我有字符串:
render('MyBundle:Default:index.html.twig')
or render('MyBundle::Default::index.html.twig')
我怎样才能得到所有的 : 并将其替换为 / ? 我在尝试类似的东西:
render\(.*([:])
但它只找到最后一个 :
在一般情况下,它看起来像
(?:\G(?!^)|render\(')[^':]*\K:+
见regex demo。如果您需要将每个 :
替换为 /
.
+
详情:
(?:\G(?!^)|render\(')
-render\('
或上一场比赛结束[^':]*
-'
和:
以外的零个或多个字符
\K
- 丢弃到目前为止匹配的文本的匹配重置运算符:+
- (唯一最终放入匹配值并最终被替换的文本)一个或多个冒号。