正则表达式怎么写?

这是EXCEL表上拷过来的!求提取前面的姓名!正则表达式怎么写?

正则表达式 ^[\u4e00-\u9fa5]+?(?=女|,|() 取第0捕获组的数据,注意打开多行模式匹配,逗号和小括号都是中文的字符

我给你一个Python语言的例子,你看看吧

import re
a = "戴桂华女(力木通信)(航太通信)(博翼通信工程)\n刘满珍(农机厂)\n向吉斌,男(物贸)\n邓会(烟厂)\n何万远,男((电力公司)\n黄文玉,女((巨凝建材公司)\n何宗玲,女((客运公司)\n何菊林()妇幼\n王勇,男,广电(62.11.20)\n周娟,女,国资(63.10.13)\n"
regex="^[\u4e00-\u9fa5]+?(?=女|,|()"
it = re.finditer(regex,a,re.M)
for match in it:
 print(match.group())

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-28

根据你提供的内容,分析如下:

1、匹配每行头几个汉字

2、每行的头几个汉字前面必定是换行符(首行除外)

综上正则写法如下:

(\n|^)[\u4e00-\u9fa5]+

至于“戴桂华女”中的“女”,建议匹配出来后进行二次处理