猿问

关于正则非捕获元字符的问题

在看书时,关于在限定模式下使用split()分隔字符串有这样一个例子:

import re

DATA = (

    'Mountain wgag, CA 51676',

    'wgag gage, CA',

    'Gwegea, CA',

    'VIOegga 81561',

    'WAGA1, 1WAGA'

)

for datum in DATA:

    print(re.split(',|(?= (?:\d{5}|[A-Z]{2})) ',datum))

运行结果是:

['Mountain wgag', '', 'CA', '51676']
['wgag gage', '', 'CA']
['Gwegea', '', 'CA']
['VIOegga', '81561']
['WAGA1', ' 1WAGA']

我想知道(?= (?:\d{5}|[A-Z]{2})的具体含义,为什么它不分割WAGA?


犯罪嫌疑人X
浏览 699回答 1
1回答

一只甜甜圈

(?= (?:\d{5}|[A-Z]{2}) 表示右侧是空格紧跟5个数字或者空格紧跟2个大写字母
随时随地看视频慕课网APP

相关分类

Java
JavaScript
我要回答