我需要创建一个正则表达式,它可以修改类似于以下字符串的内容。
[[12][abad][32][@adb.]因此,如果我想与最左边的a匹配,它将标记如下。
[[12][*a*bad][32][@adb.]或者,如果我与最右边的@ad匹配,它将标记如下:
[[12][abad][32][*@ad*b.]理想情况下,我希望regex类似于一个函数(例如,给定一个子字符串和/或字符,匹配该输入的第一个最左边的事件,或与第一个最右边的事件匹配)。我可以选择任何子字符串,在regex中会有一些很容易修改的静态组件(使它充当一个函数)。
我看到了一些类似的问题,这些问题提到了使用*?来获得第一次匹配(例如,我看到了一个问题给出了\[\#(.*?)\]的答案),但是我不知道如何集成给定的答案,并使我前面提到的函数,它可以接受任何字符串/字符输入,并发现它的左-最或最右-最发生。
发布于 2022-02-02 03:26:35
如果您的regex工具/语言支持用捕获组替换,那么您可以尝试(对于最左边的a):
Find: ^([^a]*)a(.*)$
Replace: $1*a*$2
对于最合适的大多数a,使用:
Find: ^(.*)a(.*)$
Replace: $1*a*$2https://stackoverflow.com/questions/70950185
复制相似问题