我需要一个正则表达式来改变这个:
.my-class { @apply .p-4 .bg-red-500; }
变成这样:
.my-class { @apply p-4 bg-red-500; }
我找到了这个正则表达式,但它不工作:
(?<=@apply.*)\.
有什么主意吗?
f45qwnt81#
您的正则表达式将在.NET或Python PyPi regex模块或JavaScript ECMAScript 2018+兼容环境中工作,这些环境支持无限宽度lookbehind模式。如果是PCRE/Java/Ruby,则可以使用
regex
((?:\G(?!^)|@apply)[^.\r\n]*)\.
然后用$1来替换对Group 1的反向引用。请参见regex demo。我假设您要查找与@apply在同一行上的点,所以我将\r和\n添加到求反字符类中,如果不是这样,则删除\r和\n。
$1
@apply
\r
\n
((?:\G(?!^)|@apply)[^.\r\n]*)
\G(?!^)
\.
1条答案
按热度按时间f45qwnt81#
您的正则表达式将在.NET或Python PyPi
regex
模块或JavaScript ECMAScript 2018+兼容环境中工作,这些环境支持无限宽度lookbehind模式。如果是PCRE/Java/Ruby,则可以使用
然后用
$1
来替换对Group 1的反向引用。请参见regex demo。我假设您要查找与@apply
在同一行上的点,所以我将\r
和\n
添加到求反字符类中,如果不是这样,则删除\r
和\n
。((?:\G(?!^)|@apply)[^.\r\n]*)
-组1:上一个成功匹配的结尾(\G(?!^)
)或@apply
,然后是除点、CR和LF字符以外的零个或多个字符\.
-一个点