2009-07-04 12 views
6

Potrzebuję wyrażeń regularnych, które pasują również do chińskiego, greckiego, rosyjskiego, ... liter. Zasadniczo chcę usunąć interpunkcję i liczby.RegEx dla wszystkich liter (w tym chińskiego, greckiego itp.)

Do tej pory usunąłem interpunkcję i numery "ręcznie", ale nie wydaje się to być bardzo spójne.

Inną rzeczą Próbowałem to

/[\p{L}]/ 

ale który nie jest obsługiwany przez Mozillę (używam tego w rozszerzeniu Firefoksa).

+0

Czy potrzebujesz tylko dopasować litery zgodnie z językiem konkretnego użytkownika (co oznacza, że ​​potrzebujesz tylko regexowego silnika) lub czy musisz dopasować wszystko, co jest literą w dowolnym możliwym języku? – balpha

+2

Które znaki interpunkcyjne należy usunąć? Czy chcesz usunąć apostrof w O'Brien? –

+0

'[\ p {P} \ p {N}]" opisuje interpunkcję i liczby. – Gumbo

Odpowiedz

4

Czy podałeś XRegExp i Unicode plugin spróbować/wygląd?

+1

Dzięki, właśnie tego szukałem. Chociaż nie chcę dodawać biblioteki o 8kb, której używam tylko raz w moim rozszerzeniu. Zakresy Unicode w plugin Unicode są bardzo pomocne i myślę, że użyję ich, aby napisać coś samemu. – slosd

1

Wiele można narzekać na aktualne specyfikacje ECMA dotyczące wyrażeń regularnych, które nie traktują znaków Unicode tak, jak powinny. Na przykład. a blog entry by Scott Hanselman, który łączy się z pytaniem SO ;-)
Nie ma jeszcze "prawdziwego" rozwiązania tego problemu, ale spójrz na odpowiedzi: Javascript + Unicode regexes (twoje pytanie jest mniej więcej duplikatem tego) (edycja: I weź to z powrotem, plugin Unicode Jonathan Lonowski sugeruje, że wygląda ładnie)

Powiązane problemy