bu deneyin: Daha sonra w \ (veya tire) olarak kodlanmış ve bir şey üzerinde basit bir maç karakteri sadece eşleşmiş olduğunu garanti sıfır genişlikli olan ileriye dönük sahiptir gelmez
(?:[\w\-](?<!_))+
alt çizgi değil.
Aksi halde almak olabilir bu bir:
daha set-tabanlı yaklaşım
Tamam (büyük harf W unutmayın)
(?:[^_\W]|-)+
, ben php'nin lezzet unicode ile eğlenceli bir sürü vardı PCREs: D Peekaboo kullanılabilir basit bir çözüm olduğunu söylüyor:
[\p{L}\p{N}\-]+
p {L} (Mektubu gibi not nitelendirir şey unicode maçları \: bir kelime değil karakteri bu nedenle, hiç bir altçizgi yoktur), \ p {N} bir sayıya benzeyen her şeyle eşleşir (romen rakamları ve daha egzotik şeyler dahil).
\ - sadece kaçan bir tire. "
[\p{L}\p{N}\p{Pd}]+
: Kesinlikle gerekli olmamasına rağmen, ben böylece aşağıdaki sürümüne sebebiyet veren unicode farklı tire düzinelerce vardır, unutmayın ... o karakter sınıflarında tire kaçmak için bir nokta yapmak eğilimindedir Pd ", eksi-dash-thingy dahil olmak üzere, ancak bunlarla sınırlı olmamak üzere, Noktalama Tire'dir. (Not, yine burada alt çizgi yok).
Lütfen "UTF-8 harfleri" hakkında spesifik olun - sadece İngilizce karakterleri istemediğinizi onaylayabilir misiniz? –
@meder: İngilizce ** ve ** aksanlı/yabancı karakterler istiyorum. –