我只需要获得单词{word}单词{word}单词(以单词而不是{word}结尾)的序列,并且永远不会有两个单词close(单词word)或接下来的两个{word}({word} {word })
我已经有了这个正则表达式:https://regex101.com/r/yI64KQ/13
[已解决]
感谢Norbert Incze,在此other question中,最终的正则表达式为: ([A-zÀ-ú]+([^\S\n]+\{[^}]*\}[^\S\n]+[A-zÀ-ú]+)+)
这很好用!感谢所有帮助我的人。
答案 0 :(得分:1)
([^\r\n\t])+
组正在拾取任意文本,直到下一个{
,包括空格和更多单词,甚至还有}
。您可能要删除它。
在\{...\}
内部,您接受[^}]*
,这意味着任意字符,而您可能想要的是限制性的内容,例如您对该单词的第一个定义。
为什么最后一个[...]
块呢?鉴于您的问题,我看不到它会增加什么。
顺便说一下,很酷的网站。为了使这个答案本身有意义,这是您单击链接时使用的RE:
([A-zÀ-ú]+(\s+\{[^}]*\}\s+[A-zÀ-ú]+)([^\r\n\t])+)[^\s.:;?!]