gpt4 book ai didi

regex - 正则表达式中的间距困惑

转载 作者:行者123 更新时间:2023-12-04 18:37:30 26 4
gpt4 key购买 nike

我有以下正则表达式

var string_regex=(\s*[\{\[]?\%?[\s]*)[\@A-Za-z1-9_\.\s\+\-\*\\]*([\s\*]*=[\s\*\$]*[\{\"]?)[\@A-Za-z1-9_\.\s\+\-\*\\]*(\s*[\}\"]?)([\}\]\%\s]*)

哪里 [\@A-Za-z1-9_\.\s\+\-\*\\]*最终将被我的程序中的字符串替换,该字符串被写入使用 $1, $2, $3 and $4 的文件中。如下:
val newLineToBeReplacedOrAdded = "$1" + "set type cookies" + "$2" + "sugar cookies" + "$3" + "$4"

我正在测试它的字符串是
{% set type cookies = "sugar cookies" %}

它正确匹配。但是,我遇到的问题是,当我将其写入文件时,等号旁边没有保留间距,因此我最终得到
{% set type cookies= "sugar cookies" %}

这是一个非常小的差异,但我很感激有关如何进一步改进表达以防止这种情况的反馈。

Here is a link to the regex!

我相信这是一个专门针对 [\@A-Za-z1-9_\.\s\+\-\*\\]* 的问题。

最佳答案

在 = 之前在空间上进行非贪婪匹配。

[\@A-Za-z1-9_\.\s\+\-\*\\]*?

https://regex101.com/r/yN4mX0/3

关于regex - 正则表达式中的间距困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31949152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com