是否可以用换行符替换字符序列(在此示例中为\ s〜\ s),并且还可以使用一个正则表达式删除开头和结尾的空格?行数必须灵活。
输入:
foo = 1
bar = 2
baz = 3
... <- no spaces here
所需的输出:
# search
/(\s*)([^~\s]{1}.*?)(\s~\s)(?=.*)(\s*)/g
# replace
$2\n
到目前为止,它可以正常工作了,问题是我的结果在最后一行的末尾仍然有空格:
我当前的正则表达式搜索和替换(https://regexr.com/444au):
std::shuffle
答案 0 :(得分:1)
一种选择是在\s~\s
和\s+$
之间交替,从而匹配结尾处的尾部空格:
\s*([^~\s].*?)(?:\s~\s+|\s+$)
替换为
$1\n
请注意,由于您真正关心的唯一组是带有[^~\s]{1}.*?
的组,因此您可以删除所有其他捕获组。 {1}
是毫无意义的量词,因此您也可以将其删除,(?=.*)
不会做任何事情-字符串 will 中的任何位置后跟零个或多个字符,请随时删除该前瞻。