我有一个问题,需要在定义的字符串之前提取一个值,但我不能,例如需要提取值“Pudahuel”,这个词(dinamic)它是在“Horario”之前,任何建议?
Orden de Trabajo
N° 0200087663
Pudahuel Horario Atención: LU a VI de 08:30 a 13:00 y 14:30 a 19:00
Datos de Recepción:
答案 0 :(得分:1)
在(.*)(?=Horario)
文本之前,您的Horario
匹配除换行符之外的0 +字符(因为您没有使用DOTALL修饰符)。请注意,您需要的单词之间存在换行符。
使用以下正则表达式
(\w+)\s*Horario
请参阅regex demo
您需要的值将在第1组中。您可以使用\w+
,甚至{{1},而不是[a-zA-Z0-9_]
(一个或多个字符,来自[a-zA-Z]+
范围的字符) (任何1+个字母)。
注意:当你在模式/字符串中有Unicode字符时,你需要使用\p{L}+
修饰符:
/u
或your suggested pattern(有点增强):
/(\w+)\s*Horario/u
答案 1 :(得分:0)