解析固定宽度文件PHP正则表达式
我有一个包含固定宽度数据的导出文件: 姓名(6) 性别(6) 电话号码(12)-包括一个空格 Data.txt解析固定宽度文件PHP正则表达式,php,regex,Php,Regex,我有一个包含固定宽度数据的导出文件: 姓名(6) 性别(6) 电话号码(12)-包括一个空格 Data.txt DanielMale (07654) 521254 Lisa Female(16545) 654456 Sarah Female(54656) 4896546 如果数据不符合数据宽度,我需要提取姓名和性别数据,包括任何空格 需要忽略电话号码的括号。(如何忽略正则表达式中的项 我现在有下面的正则表达式,它可以提取人名。我想我可以简单地在白色上加上一点,使其提取性别,但这不起作用。我
DanielMale (07654) 521254
Lisa Female(16545) 654456
Sarah Female(54656) 4896546
如果数据不符合数据宽度,我需要提取姓名和性别数据,包括任何空格
需要忽略电话号码的括号。(如何忽略正则表达式中的项
我现在有下面的正则表达式,它可以提取人名。我想我可以简单地在白色上加上一点,使其提取性别,但这不起作用。我哪里出了问题
/(?<name>.{6}+) (?<gender>.{6}+)/
这应该包括所有四个字段:
/^(?<name>.{6})(?<gender>.{6})\((?<prefix>[^\)]+)\)\ (?<number>.+)/
/^(?{6})(?。{6})\((?[^\)]+)\(?。+)/
- 第一个
表示从一开始就匹配^
:匹配模式的6倍(加号在这里是多余的){6}
和\(
:匹配括号(不转义括号将表示子模式的边界)\)
表示“第一个结束括号之前的所有内容”[^\)]+
/^(?<name>.{6})(?<gender>.{6})\((?<prefix>[^\)]+)\)\ (?<number>.+)/
/^(?{6})(?。{6})\((?[^\)]+)\(?。+)/
- 第一个
表示从一开始就匹配^
:匹配模式的6倍(加号在这里是多余的){6}
和\(
:匹配括号(不转义括号将表示子模式的边界)\)
表示“第一个结束括号之前的所有内容”[^\)]+