blob: 44c3ea7114807472347fa6dc39e4f2a8b38f1e46 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001Tests for regexp with multi-byte encoding and various magic settings.
Bram Moolenaar89cb5e02004-07-19 20:55:54 +00002Test matchstr() with a count and multi-byte chars.
Bram Moolenaare6a2fa62013-09-19 17:00:20 +02003See test99 for exactly the same test with re=2.
Bram Moolenaar071d4272004-06-13 20:20:40 +00004
5STARTTEST
6:so mbyte.vim
7:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
Bram Moolenaare6a2fa62013-09-19 17:00:20 +02008:set re=1
Bram Moolenaar071d4272004-06-13 20:20:40 +00009/^1
10/a*b\{2}c\+/e
11x/\Md\*e\{2}f\+/e
12x:set nomagic
13/g\*h\{2}i\+/e
14x/\mj*k\{2}l\+/e
15x/\vm*n{2}o+/e
16x/\V^aa$
17x:set magic
18/\v(a)(b)\2\1\1/e
19x/\V[ab]\(\[xy]\)\1
20x:" Now search for multi-byte without composing char
21/ม
22x:" Now search for multi-byte with composing char
23/ม่
24x:" find word by change of word class
25/ち\<カヨ\>は
Bram Moolenaarc0197e22004-09-13 20:26:32 +000026x:" Test \%u, [\u] and friends
Bram Moolenaard82a2a92015-04-21 14:02:35 +020027:" c
Bram Moolenaarc0197e22004-09-13 20:26:32 +000028/\%u20ac
Bram Moolenaard82a2a92015-04-21 14:02:35 +020029x:" d
30/[\u4f7f\u5929]\+
31x:" e
32/\%U12345678
33x:" f
34/[\U1234abcd\u1234\uabcd]
35x:" g
36/\%d21879b
37x:" h
38/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
39x:" i
40/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
41x:" j Test backwards search from a multi-byte char
Bram Moolenaar55b7b7e2013-01-23 16:43:11 +010042/x
43x?.
Bram Moolenaard82a2a92015-04-21 14:02:35 +020044x:" k
45:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
Bram Moolenaar229f8db2013-05-06 05:50:28 +020046:@w
Bram Moolenaar96c664a2015-12-31 16:21:52 +010047:"
48:" l Test what 7.3.192 fixed
49/^l
50:s/ \?/ /g
Bram Moolenaar229f8db2013-05-06 05:50:28 +020051:?^1?,$w! test.out
Bram Moolenaar89cb5e02004-07-19 20:55:54 +000052:e! test.out
53G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
54:put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
55:put =matchstr(\"אבגד\", \".\", 0, 0) " א
56:put =matchstr(\"אבגד\", \".\", 4, -1) " ג
Bram Moolenaar46539112015-02-17 15:43:57 +010057:new
58:$put =['dog(a', 'cat(']
59/(/e+
60"ayn:bd!
61:$put =''
62G"ap
Bram Moolenaar89cb5e02004-07-19 20:55:54 +000063:w!
Bram Moolenaar071d4272004-06-13 20:20:40 +000064:qa!
65ENDTEST
66
671 a aa abb abbccc
682 d dd dee deefff
693 g gg ghh ghhiii
704 j jj jkk jkklll
715 m mm mnn mnnooo
726 x ^aa$ x
737 (a)(b) abbaa
748 axx [ab]xx
759 หม่x อมx
76a อมx หม่x
77b ちカヨは
Bram Moolenaarc0197e22004-09-13 20:26:32 +000078c x ¬€x
79d 天使x
80e ü’…™¸y
81f ü’Š¯z
82g a啷bb
Bram Moolenaar522f9ae2011-07-20 17:58:20 +020083h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ
84i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
Bram Moolenaar55b7b7e2013-01-23 16:43:11 +010085j 0123❤x
Bram Moolenaar229f8db2013-05-06 05:50:28 +020086k combinations
Bram Moolenaar96c664a2015-12-31 16:21:52 +010087l äö üᾱ̆́