给出以下字符串
span.a.b this.is.really.confusing
我需要返回匹配a
和b
。我已经能够接近以下正则表达式:
(?<=\.)[\w]+
但它也匹配is
,really
和confusing
。当我包含一个负向前瞻时,我会更接近,但我仍然不在那里。
(?<=\.)[\w]+(?=\s) # matches b, confusing
如何匹配点后的单词直到出现空格?
答案 0 :(得分:0)
如何匹配点后的单词直到出现空格?
注意:这是语言无关的伪代码,但应该可以工作。
regex = "^[^\s.]+.(\S+).*"
targets = <extracted_group>.split(".")
正则表达式解释:
“^”:有生命的人
“[^ \ S。] +。” 1个或多个非空格,非句点字符,后跟句点
“(\ S +)”:分组并捕获以下所有非空格字符
“。*”:匹配任何非换行符的0或更多
如果split函数采用正则表达式而不是字符串,则需要转义'。'或使用角色类。
注意:您可以在没有拆分的情况下执行此操作,但我认为拆分更透明。
答案 1 :(得分:0)
我不确定这是否足以满足您所有可能的情况,但它应该与提供的示例一起使用:
\.([\w]+)\.([\w]+)\s
$ 1 = a,$ 2 = b