Básicamente, quiero hacer esto:
Texto y texto de texto. Texto de texto. y texto (No coincida con este "Y").
Texto y texto de texto. y texto (Haga coincidir este "Y".)
En este momento, tengo esta expresión regular: .*\b(and)\b.*\. And . Pero coincide con ambos And en el ejemplo anterior: https://regexr.com/65k52
¿Cómo modificar esta expresión regular para que solo coincida con And si la oración anterior tiene and ?
Si quieres usar . + espacios en blanco como una secuencia de separación de oraciones que puede usar
(?=\S)[^.]*(?:\.(?!\s)[^.]*)*?\band\b[^.]*(?:\.(?!\s)[^.]*)*\.\s+And\b (?=\S)(?:[^.]|\.(?!\s))*?\band\b(?:[^.]|\.(?!\s))*\.\s+And\bVea la demostración de expresiones regulares n.° 1 y la demostración de expresiones regulares n.° 2 . Detalles :
(?=\S) - el siguiente carácter debe ser un espacio que no sea en blanco(?:[^.]|\.(?!\s))*? - cero o más (pero la menor cantidad posible) de ocurrencias de cualquier carácter que no sea . o un . que no va inmediatamente seguido de espacios en blanco\band\b - palabra completa and(?:[^.]|\.(?!\s))* - cero o más (pero tantas como sea posible) apariciones de cualquier carácter que no sea . o un . que no va inmediatamente seguido de espacios en blanco\. - un punto\s+ - uno o más espacios en blancoAnd\b - una palabra completa And .