Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使正则表达式仅与捕获组匹配_Regex_Split_Pyspark - Fatal编程技术网

Regex 使正则表达式仅与捕获组匹配

Regex 使正则表达式仅与捕获组匹配,regex,split,pyspark,Regex,Split,Pyspark,由于我目前正在使用的技术(PySparkAPI),我需要调整一个正则表达式,使完整匹配对应于捕获组 我想将它用作 此函数根据匹配的子字符串(而不是捕获组)拆分输入字符串。 因此,我需要匹配\s+字符(我目前只捕获这些字符) 这里有一个或:(\s)+(?:\d*\s*)(?=RUE | BOULEVARD | AVENUE) 我尝试扩展正向前瞻,以结合\d+\s+之前可能存在的可能性,从而匹配不同的\s。到目前为止还没有工作 我希望获得的分割函数的输出如下: [7 BOULEVARD LAPIN

由于我目前正在使用的技术(PySparkAPI),我需要调整一个正则表达式,使完整匹配对应于捕获组

我想将它用作

此函数根据匹配的子字符串(而不是捕获组)拆分输入字符串。 因此,我需要匹配\s+字符(我目前只捕获这些字符)

这里有一个或:
(\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*似乎快了一点。