在给定数量的间隔后,我将使用正则表达式查找所有空格。 例如,如果以下字符串的间隔为3,则结果应为
string = "this is a test for regex"
string = "this(select)is a(select)test(select)for(select)regex"
is
之后的空白不应选择,因为间隔为3,is
的长度仅为2
我这样做了^(?=.{3,})\s$
,但是没有运气。谢谢
答案 0 :(得分:1)
根据您的正则表达式引擎,可以使用以下任意一种方式:
\K
重置方法如果您的引擎支持\K
。
.{3,}?\K\s+
此方法会匹配任意字符3次或更多次(但要尽可能少),然后重置模式的匹配项,然后匹配一个或多个空格字符。
(.{3,}?)\s+
替换为$1
此方法捕获 3个或更多字符(但尽可能少),然后匹配一个或多个空白字符。然后,您将匹配项替换为第一个捕获组的匹配项。
在量词之后的?
(在{3,}
以上的情况下)使它以 lazy 的方式进行匹配,这意味着一旦它满足至少3个匹配项,并且找到一个空白字符,它将停止(这将阻止它与整行匹配到最后一个空格)。
\K
令牌重置模式的匹配。这意味着在整个匹配中不会捕获此标记之前的任何内容(仅导致匹配空白字符)
答案 1 :(得分:0)
答案 2 :(得分:-2)
rstrip(' ')
或尝试
rstrip('\n')