regex 一个正则表达式中的多个正则表达式的组合

643ylb08  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(293)

我从一个文件中提取某个字符串时遇到了问题...如果输入字符串为:

Codigo: 000001
Cliente: 000030 John Red

Codigo: 000002
Cliente: 000032 Kin Ahaul paulo

我的预期结果是:

Codigo: 000001 - John Red
Codigo: 000002 - Kin Ahaul Paulo

我的结果是:

Codigo: 000001 -
Codigo: 000002 -

Regex:

(Codigo: [0-9]{6})

我需要做什么,并为每一个创建一个正则表达式?在这种情况下,提取代码一个正则表达式和提取其他名称?

jhdbpxl9

jhdbpxl91#

可以使用三个正则表达式。一个将提取Codigo行,另一个将提取Cliente行。然后,您可以循环遍历数据,并在使用第三个清理后追加Cliente数据。
Codigo浸提液:

/Codigo:\s\d*/g

提取客户行:

/Cliente:.*/g

通过删除以下项的匹配来清理客户端行:

/Cliente:\s\d*/g
hwamh0ep

hwamh0ep2#

尝试使用此正则表达式,必须存在单词Codigo:Cliente:,然后您应确保按顺序存在空格、数字和名称:

(Codigo:[ ]+\d+|Cliente:[ ]+\d+)([A-Za-z ]+)
q35jwt9p

q35jwt9p3#

你可以在一个正则表达式中使用捕获组来完成:

(Codigo: \d+)\nCliente: \d+ (.*)

使用第一组和第二组,期望的结果将是$1 - $2

相关问题