我有两个字符串:“FYRACE02-1208-非居民外籍妇女”和“XFYRAC02-FYRACE02-1208-非居民外籍妇女的插补字段”。
我想仅从第一个字符串中提取“FYRACE02”和“非居民外籍女性”,而不从第二个字符串中提取任何内容。
我目前有以下代码:
re.findall('([A-Z]\w*)-\d+-(.*)', s)
其中 s 是任一字符串。这段代码产生
[('FYRACE02', 'Nonresident alien women')]
对于两个字符串。
我尝试过使用类似的否定后向断言
re.findall('([A-Z]\w*)-\d+-(.*)(?<![ ])', s)
结果相同。
在正则表达式中,字符串的开头用
^
标记。末尾标有 $
。