用于在点之间查找单词的正则表达式

2024-09-30 01:36:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是RegEx的新手,我想用正则表达式在点之间找到单词。你知道吗

例如,文本类似于:

abc.efg.hij.klm.opq.

我试过下面的正则表达式:

\.(\w+)\.

它只显示2个匹配项:

.efg.
.klm.

为什么我会得到这个结果?你知道吗

下面是到RegEx的链接:https://regex101.com/r/pqMN8t/1/


Tags: https文本com链接单词regexabc我会
1条回答
网友
1楼 · 发布于 2024-09-30 01:36:08

它只显示两个匹配项,因为regex引擎将不匹配它已经匹配的项。匹配.efg.之后,它将不匹配hij之前的点,因为该点已经匹配(在efg之后的点)。你知道吗

解决这个问题的一种方法是不匹配点,而是使用lookaheads和lookbehinds:

(?<=\.)\w+(?=\.)

这样,点就不会匹配了。你知道吗

相关问题 更多 >

    热门问题