繁体   English   中英

正则表达式-在多次出现的定界符之间匹配每个项目

[英]Regex - Match each item between multiple occurrences of delimiter

我想在Python中使用Regex表达式匹配给定分隔符之间的值。 我想忽略周围的空白。 例如:

  • 字符串1, b cc, "a"和delimiter ,将返回三个匹配项1b cc"a"

  • 字符串4 + 5 + 2 +1和定界符+将返回四场比赛的4521

import re
line = '1, b cc, "a"'
re.split(r'[;,]\s*', line)
Out[7]: ['1', 'b cc', '"a"']

line = '4 +   5 +   2  +1'
re.split(r'\s*[+]\s*', line)
Out[10]: ['4', '5', '2', '1']

re.split()函数很有用,因为您可以为分隔符指定多个模式。

在这种情况下,对于您的第一个请求,分隔符可以是comma (,)semicolon (;) ,后跟任意数量的多余whitespace 对于您的第二个请求,分隔符是plus (+) ,并由任意数量的多余whitespaces包围。

只要找到该模式,整个比赛就成为比赛双方任何字段之间的分隔符。 结果是一个字段列表,与str.split()

您可以使用re.split()方法执行此操作。

import re

re.split('\s*,\s*', '1, b cc, "a"')

re.split('\s*\+\s*', '4 +   5 +   2  +1')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM