2014-12-15 4 views
0

Что такое отрицательное выражение следующего выражения XRegExp?XRegExp: отрицать выражение

[\\p{Alphabetic}\\p{Nd}\\{Pc}\\p{M}]+ 

Я использовал matchChain(), чтобы получить слова из предложения, используя выше выражения.

Теперь я собираюсь использовать split(), используя выражение negate, чтобы получить тот же результат, но с содержащими разделители для каждого слова.

+0

Добавьте '^' в начале вашего класса символов? – HamZa

ответ

2

Отменить \p{…}, используйте \P{…}. Например, инверсия \p{L} равна \P{L}.

Предполагая, что вы сделали опечатку в исходном регулярном выражении, и \\{Pc} должны быть \\p{Pc}, это становится:

[\\p{Alphabetic}\\p{Nd}\\p{Pc}\\p{M}]+ 

Чтобы отрицать это, только верхний регистр \\p{…} в \\P{…}:

[\\P{Alphabetic}\\P{Nd}\\P{Pc}\\P{M}]+ 

Он должен можно также сделать это:

[^\\p{Alphabetic}\\p{Nd}\\p{Pc}\\p{M}]+