使用正则表达式在字符串的开头添加查找特殊字符,并在字符串的末尾添加 ADD

Add Find Special Character at beginning and ADD to END of string with regex

提问人:Hank K 提问时间:5/25/2022 更新时间:5/25/2022 访问量:131

问:

有一个以 # 符号开头的字符串,并希望添加相同的 # 符号。

字符串可以包含任何类型的下/上、数字、逗号、句点等。每个字符串都是一行单独的行。

这是我尝试过但没有成功的方法:

Find:       (?=#)([\S\s]+)           # www.admitme.app
Find:       (?=#\B)([\S\s]+)         # Carlo Baxter
Find:       (?=#\B)([A-Za-z0-9]+)    # resumes in 15 minutes

Replace:    $1 #                     # resumes in 15 minutes #

是的,我是一个有正则表达式的菜鸟...... 提前致谢 汉克·

正则表达式

评论

1赞 Tim Biegeleisen 5/25/2022
您当前的正则表达式替换似乎正在完成这项工作,那么这里有什么问题/疑问?
0赞 Hank K 5/25/2022
仅将 # 符号添加到最后一个字符串,而不将前两个 regex101.com/r/bxPwuy/1

答:

0赞 Tim Biegeleisen 5/25/2022 #1

以下模式在您的演示中起作用:

(?=#\B)(.*)

这在多行模式下有效,因为这样就不会跨换行符匹配。您正在使用 ,即使在多行模式下,它也会跨换行符匹配。这是更新的演示.*[\s\S]*

0赞 The fourth bird 5/25/2022 #2

您可以使用这些模式之一执行相同的替换,而无需环顾或捕获组。关键是匹配任何没有换行符的字符(并且没有设置标志以使点匹配换行符).*

#\B.*
# .*

在替换中,使用匹配的文本,后跟空格和#

$0 #

观看正则表达式演示