我有一个包含固定宽度数据的导出文件:
姓名 (6(性别 (6(电话号码 (12( - 包括一个空格
数据.txt
DanielMale (07654) 521254
Lisa Female(16545) 654456
Sarah Female(54656) 4896546
如果数据不适合数据宽度,我需要提取姓名和性别数据,包括任何空格。
电话号码的括号需要忽略。(如何忽略正则表达式中的项目?
我目前有以下正则表达式,它拉出人们的名字。我以为我可以简单地在白色上添加位以使其拉出性别,但这不起作用。我哪里出错了?
/(?<name>.{6}+) (?<gender>.{6}+)/
我需要数据在最后看起来像这样。
^ = 空格
Daniel
Male^^
07654 521254
Lisa^^
Female
16545 654456
Sarah^
Female
54656 4896546
这应该捕获所有四个字段:
/^(?<name>.{6})(?<gender>.{6})'((?<prefix>[^')]+)')' (?<number>.+)/
- 第一个
^
意味着从一开始就匹配。 -
{6}
:匹配模式的6倍(加号在这里是多余的( -
'(
和')
:匹配括号(如果不转义,它们将意味着子模式的边界( -
[^')]+
的意思是"第一个右括号之前的所有内容