正则表达式无法获取空格,我无法正确分割字符串?

时间:2019-03-14 14:21:56

标签: python regex

我正在用Python创建一个正则表达式,需要在字符串中查找空格

示例

000#0123456789#ASimpleName#123456 000#987654321#OtherSimpleName#8765432
000#0123456789#ASimpleName#EUA 000#987654321#OtherSimpleName#8765432

在这种情况下,如果我使用re.split('\s'),我可以解决问题,但是我可以找到

000#0123456789#A simple Name#123456 000#987654321#Other Simple Name#8765432
000#0123456789#ASimpleName#EUA 000#987654321#OtherSimpleName#8765432

我尝试使用此表达式[\d|\w]\s\d,但是Regex得到6 0A 0,但是我只需要空格。

1 个答案:

答案 0 :(得分:3)

您可以将以下正则表达式与re.split一起使用:

\s+(?=000#)

或者,如果可能有3位数字:

\s+(?=\d{3}#)

请参见regex demohttps://jex.im/regulex图:

enter image description here

详细信息

  • \s+-匹配并消耗1个或多个空格字符
  • (?=\d{3}#)-确保在当前位置的右边紧跟着3位数字,后跟#(?=000#)仅在三个数字为零时返回true。 #在这里可能不是必需的,但这取决于实际数据和要求。