He leído una cadena del archivo que he dividido | personaje. Por ejemplo, la cadena esJavascript: expresión regular para dividir cadena en caracteres no escaneados, p. | pero ignora |
1|test pattern|prefix|url|postfix
Así dividida siempre me tiene que dar 5 subseries, que en el caso anterior son
["1", "test pattern", "prefix", "url", "postfix"]
El problema viene cuando cualquiera de estos cinco subseries contiene | personaje. Lo almacenaría como escapado \ |
1|test pattern|prefix|url \| title |postfix
Ahora, puede ver que string.split ('|') no me dará el resultado deseado. El resultado deseado es
["1", "test pattern", "prefix", "url \| title ", "postfix"]
He intentado algunas expresiones regulares pero ninguna de ellas da el resultado deseado.
string.split(/[^\\]\|/) //["", "", "prefi", "$url \| $titl", " postfix"]
Parece que esto sólo es posible con lookbacks negativos, pero no pude conseguir una para trabajar
Debo entender que no tiene control sobre el carácter que es utilizado dentro de la cadena para separar los elementos? – Patrick
Su cadena rinde: >> var word = '1 | test pattern | prefix | url \ | título | postfix '; >> palabra "1 | patrón de prueba | prefijo | url | título | postfijo" ¿Quisiste decir que es como '1 | test pattern | prefix | url \\ | título | postfix 'en su lugar? –
@Patrick: No puedo cambiar el delímetro, porque ahora se ha utilizado en muchos archivos, pero puedo cambiar el carácter de escape \ – Kashif