Regex 使正则表达式仅与捕获组匹配
由于我目前正在使用的技术(PySparkAPI),我需要调整一个正则表达式,使完整匹配对应于捕获组 我想将它用作 此函数根据匹配的子字符串(而不是捕获组)拆分输入字符串。 因此,我需要匹配\s+字符(我目前只捕获这些字符) 这里有一个或:Regex 使正则表达式仅与捕获组匹配,regex,split,pyspark,Regex,Split,Pyspark,由于我目前正在使用的技术(PySparkAPI),我需要调整一个正则表达式,使完整匹配对应于捕获组 我想将它用作 此函数根据匹配的子字符串(而不是捕获组)拆分输入字符串。 因此,我需要匹配\s+字符(我目前只捕获这些字符) 这里有一个或:(\s)+(?:\d*\s*)(?=RUE | BOULEVARD | AVENUE) 我尝试扩展正向前瞻,以结合\d+\s+之前可能存在的可能性,从而匹配不同的\s。到目前为止还没有工作 我希望获得的分割函数的输出如下: [7 BOULEVARD LAPIN
(\s)+(?:\d*\s*)(?=RUE | BOULEVARD | AVENUE)
我尝试扩展正向前瞻,以结合\d+\s+之前可能存在的可能性,从而匹配不同的\s。到目前为止还没有工作
我希望获得的分割函数的输出如下:
[7 BOULEVARD LAPIN BLANC,AVENUE MR LIEVRE,18 RUE PIERRE LAPIN]
我不知道pyspark,但我猜它支持这些东西,在没有数字的前面,但后面有可选数字的空格上分割,然后是街道类型
(?<!\d)\s+(?=(?:\d+\s)?(?:RUE|BOULEVARD|AVENUE))
(?
在演示中,我使用了模拟拆分的替换\n
不理解输出。这是split
函数的输出吗确实是,我将更新我的帖子。我基本上只想匹配我的示例中当前捕获的\s+。这是你想要的吗?这正是我想要的。优雅而直白,我没有考虑使用反向查找和?
>量词。做得好,请随意将此作为答案发布,以便我可以解决此主题。感谢您提供闪电般快速的答案。很好地发现@BobbleBobble,我似乎找不到答案,\d*\s*似乎快了一点。