我正在尝试在两个'
之间找到一个或多个空格。
这就是我得到的,但是它没有在另一个后面找到一个空格。
('[\S]+)( )([\S]+')
编辑: 抱歉,我的问题不清楚!
输入例如:"this 'is a test ' for stackoverflow.
(在此示例中,替换字符为“ x”)
输出:"this 'isxxaxtestx' for stackoverflow.
('[\S]+)( )+([\S]+')
此正则表达式只需要查找多个匹配项,但我不知道如何。
答案 0 :(得分:2)
您的要求只能通过可变宽度的后向正则表达式模式来实现,只有少数正则表达式引擎(Perl,Python的第三方regex
模块,Chrome的Javascript等)才支持这种模式:
(?<='[^']*) (?=[^']*')
演示:https://regex101.com/r/al6FTW/2
关键是在空格前使用正向后退(?<='[^']*)
模式,以确保有一个单引号,后跟零个或多个非单引号字符,直到空格为止,然后使用正号在空格后进行前瞻模式(?=[^']*')
,以确保空格后有一个单引号,并且中间有零个或多个非单引号。
答案 1 :(得分:0)