求教正则表达式怎么写

输入:String s = "曾晨晨(46652232534) 14:24:39
34级3046843566 李苗初 33030219491113651X 升A卡0010467107 zengcc3242"

然后输出:曾晨晨 3046841566 33030219491113611X 0010496107

Regex.FindAll(temp,"^([\\u4e00-\\u9fa5].).*?(\\d{10}).*?(\\d{10}).*?([0-9Xx]+)")这个表达式简单了不是想要的

我要的不是这样简单的匹配,需要通用适配,比如获取34级后面的数字,升A卡后面的数字(匹配文字后面的数字)

阅读 3k
1 个回答

不知道你的字符格式是不是固定的,下面这个能满足你的示例

^(.+?)(?=\(\d+\))[\S\s]+?级(\d+)[\S\s]+?(\d{17}[xX\d]).*?卡(\d+)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题