este momento tengo esto:Partido hasta x expresiones regulares o y expresiones regulares
^(.+)\(\w+\)|^(.+)\s\(\d{3}\:\d{3}\s\-\s\d{3}\:\d{3}\)
El # 1 sólo partidos de Foo
# 2 Foo tiene que es correcta
# 3 coincide foo pero está en el 3er elemento de la matriz [2]:
3rd array output:
(
[0] => Foo (100:200 - 300:400)
[1] =>
[2] => Foo
)
La negrita es lo que estoy tratando de igualar:
de Foo (match11) esta (100: 200 - 300: 400) al final # 1
Foo tiene (not_matched) (100: 200-300: 400) el final # 2
Foo (100: 200 - 300: 400) el final # 3
nota: im no tratar de coincidir con el # 1, # 2, # 3 al final de cada línea, eso solo como referencia.
Si se encuentra "(100: 200 - 300: 400)", obtenga cualquier texto delante de él, elseif "(not_matched) (100: 200 - 300: 400)" encontrado luego obtenga cualquier texto en frente de ello, si no, obtenga texto delante de "(100: 200 - 300: 400)"
La parte elseif "(not_matched) (100: 200 - 300: 400)" puede identificarse ya que solo tiene 1 blanco espacio entre los 2 soportes redondos de not_matched y (100: 200 - 300: 400)
Editar:
Esto es lo que se me ocurrió que parece funcionar, aunque requiere algunas soluciones en php para ser útil.
(.+)\s\(\w+\)\s\(|(.+)\s\(\d{3}\:\d{3}\s\-\s\d{3}\:\d{3}\)
Ejemplo de trabajo: http://www.rubular.com/r/NSpGcnyg0p
Por alguna razón, no parece guardar mi ejemplo, por lo que tendrá que copiar/pegar en
Pero la expresión regular no tiene. coincidencia directa en cada uno de ellos, por eso tengo que eliminar el elemento de matriz vacío en php para que obtenga el resultado en el elemento [1].
¿Alguien puede ver lo que estoy haciendo mal en mi expresión regular?
Por favor, haga su pregunta más clara ... – shybovycha
Sí lo siento por eso, un poco confundido en cuanto a lo que yo estaba tratando hacer, creo que lo aclare. – Mint