@@ -53,6 +53,7 @@ o.kids = [
53
53
} ,
54
54
{
55
55
id :"range" ,
56
+ label : "范围" ,
56
57
tip :"匹配ASCII码从{{getChar(prev)}}到{{getChar(next)}}的字符 (ASCII码从 {{prev.code}} 到 {{next.code}})。 {{getInsensitive()}}" ,
57
58
example :[ "[g-s]" , "abcdefghijklmnopqrstuvwxyz" ] ,
58
59
desc : "匹配ASCII码在指定范围区间的字符。" ,
@@ -68,13 +69,15 @@ o.kids = [
68
69
} ,
69
70
{
70
71
id :"dot" ,
72
+ label : "点" ,
71
73
tip :"匹配任何字符{{getDotAll()}}." ,
72
74
desc :"匹配除换行符之外的任何字符。" ,
73
75
ext :" 等价于 <code>[^\\n\\r]</code>." ,
74
76
example :[ "." , "glib jocks vex dwarves!" ] ,
75
77
token :"."
76
78
} ,
77
79
{
80
+ id : "matchany" ,
78
81
label :"完全通配" ,
79
82
desc :"可以用来匹配所有字符,包括换行符,但是除了dotall标符(<code>s</code>)." +
80
83
"<p>另外一种形式是<code>[^]</code>, 但是它不被所有浏览器支持</p>" ,
@@ -90,6 +93,7 @@ o.kids = [
90
93
} ,
91
94
{
92
95
id :"word" ,
96
+ label : "单词" ,
93
97
desc :"匹配字母、数字、下划线。" ,
94
98
ext :" 只匹配小ASCII码的字符(无声调字母或非罗马英文字符)。 等价于 <code>[A-Za-z0-9_]</code>" ,
95
99
example :[ "\\w" , "bonjour, mon fr\u00E8re" ] ,
@@ -105,6 +109,7 @@ o.kids = [
105
109
} ,
106
110
{
107
111
id :"digit" ,
112
+ label : "数字" ,
108
113
desc :"匹配任意数字 (0-9)." ,
109
114
ext :" 等价于 <code>[0-9]</code>." ,
110
115
example :[ "\\d" , "+1-(444)-555-1234" ] ,
@@ -120,6 +125,7 @@ o.kids = [
120
125
} ,
121
126
{
122
127
id :"whitespace" ,
128
+ label : "空白字符" ,
123
129
desc :"匹配任何空白字符。(空格, 制表符, 换行符)" ,
124
130
example :[ "\\s" , "glib jocks vex dwarves!" ] ,
125
131
token :"\\s"
@@ -207,7 +213,7 @@ o.kids = [
207
213
} ,
208
214
209
215
{
210
- label :"Anchors " ,
216
+ label :"锚定 " ,
211
217
id :"anchors" ,
212
218
desc :"锚定类比较特殊,它匹配位置,而不是字符。" ,
213
219
kids :[
@@ -402,6 +408,7 @@ o.kids = [
402
408
} ,
403
409
{
404
410
id :"define" ,
411
+ label : "定义" ,
405
412
desc :"用来在不被匹配的情况下定义一个命名分组用作子过程。" ,
406
413
ext :"<p>例如,<code>/A(?(DEFINE)(?'foo'Z))B\\g'foo'/</code> 会匹配到 <code>ABZ</code>,因为定义组在匹配中被忽略了,除非在子过程定义<code>foo</code>子过程,即例子中后方的<code>\\g'foo'</code>。 " ,
407
414
token :"(?(DEFINE)(?'foo'ABC))"
@@ -477,12 +484,14 @@ o.kids = [
477
484
kids : [
478
485
{
479
486
id :"plus" ,
487
+ label : "+" ,
480
488
desc :"匹配1个或更多前面的标记。" ,
481
489
example :[ "b\\w+" , "b be bee beer beers" ] ,
482
490
token :"+"
483
491
} ,
484
492
{
485
493
id :"star" ,
494
+ label : "*" ,
486
495
desc :"匹配0个或更多前面的标记。" ,
487
496
example :[ "b\\w*" , "b be bee beer beers" ] ,
488
497
token :"*"
@@ -507,6 +516,7 @@ o.kids = [
507
516
} ,
508
517
{
509
518
id :"lazy" ,
519
+ label : "慵懒" ,
510
520
tip :"令前面的标记 {{getLazy()}}, 让其尽可能 {{getLazyFew()}} 地匹配字符。" ,
511
521
desc :"令前面的标记变慵懒,让其尽可能少地匹配字符。" ,
512
522
ext :"默认情况下,量词是贪婪的会尽可能多地匹配字符。" ,
@@ -515,6 +525,7 @@ o.kids = [
515
525
} ,
516
526
{
517
527
id :"possessive" ,
528
+ label : "占有型" ,
518
529
desc :"令前面的量词贪婪,但不回溯。它会尽可能多地匹配字符,但不会为了匹配后面的标记而释放它。" ,
519
530
ext :"<p>例如 <code>/.*a/</code> 会匹配到 <code>aaa</code>, 但 <code>/.*+a/</code> 则不会。因为重复的<code>.</code>会匹配、但不会为了匹配最后一个字符<code>a</code>而释放。</p>" ,
520
531
token :"+"
@@ -537,11 +548,13 @@ o.kids = [
537
548
kids : [
538
549
{
539
550
id :"comment" ,
551
+ label : "注释" ,
540
552
desc :"允许你在正则表达式中插入注释,匹配时候会被忽略。" ,
541
553
token :"(?#foo)"
542
554
} ,
543
555
{
544
556
id :"conditional" ,
557
+ label : "条件语句" ,
545
558
desc :"当满足前瞻条件后,从两个选项中选择一个匹配。" ,
546
559
ext :"<p>例如, <code>/(?(?=a)ab|..)/</code> 会匹配 <code>ab</code> 和 <code>zx</code> 但不会匹配到 <code>ax</code>, 因为如果第一个字符满足条件 <code>a</code> 那么它就尝试匹配表达式 <code>ab</code>。</p>" +
547
560
"<p>任何前瞻都可以用在这个条件上。前瞻会在条件开始的位置启动子序列的匹配过程。后顾则会在结束的位置启动。</p>" ,
@@ -558,14 +571,15 @@ o.kids = [
558
571
} ,
559
572
{
560
573
id :"recursion" ,
574
+ label : "回溯" ,
561
575
desc :"在相同位置尝试匹配整个表达式。" ,
562
576
ext :"<p>例如, <code>/a(?R)?z/</code> 会匹配到任意数量的 <code>a</code> 紧跟相同数量的 <code>z</code>: 匹配 <code>az</code> 单词或 <code>aaaazzzz</code>, 但不会匹配<code>azzz</code>。</p>" +
563
577
"<p>可以用不同语法使用这个特性:</p><p><code>(?R)</code> <code>(?0)</code> <code>\\g<0></code> <code>\\g'0'</code></p>" ,
564
578
token :"(?R)"
565
579
} ,
566
580
{
567
581
id :"mode" ,
568
- label :"mode modifier " ,
582
+ label :"模式修改符 " ,
569
583
tip :"{{~getDesc()}}{{~getModes()}}" ,
570
584
desc :"对正则的余下部分启用或禁用模式。" ,
571
585
ext :"模式对应于正则表达式的标识。 例如 <code>(?i)</code> 会对余下的正则启用大小写不敏感(即禁用大小写敏感)。" +
@@ -656,20 +670,23 @@ o.kids = [
656
670
} ,
657
671
{
658
672
id :"multiline" ,
673
+ label : "多行" ,
659
674
tip :"使用起始/结尾锚(<b>^</b>/<b>$</b>)会匹配到行首和行尾。" ,
660
675
desc :"当启用 multiline标识时,使用起始和结尾锚(<b>^</b> 和 <b>$</b>)会匹配到行首和行尾, 而不是整个字符串的头部和尾部。" +
661
676
"<p>需要注意的是类似<code>/^[\\s\\S]+$/m</code>的正则可能会匹配到含有换行符的字符串。因为锚会匹配到<b>任意</b>行的起始/结束位置。</p>" ,
662
677
token :"m"
663
678
} ,
664
679
{
665
680
id :"unicode" ,
681
+ label : "Unicode" ,
666
682
tip :"启用<code>\\x{FFFFF}</code>Unicode转义。" ,
667
683
desc :"当启用Unicode标识时,你可以按<code>\\x{FFFFF}</code>格式转义Unicode字符。" +
668
684
"<p>这会使转义更严格,会对不能识别的转义字符 (例如 <code>\\j</code>) 报错。</p>" ,
669
685
token :"u"
670
686
} ,
671
687
{
672
688
id :"sticky" ,
689
+ label : "粘连" ,
673
690
desc :"只会从lastIndex位置开始匹配,且如果设置了全局标识(<code>g</code>)的话会被忽略。" ,
674
691
ext :" 因为在RegExr的每次解析是独立的,该标识对已显示的内容没有任何影响。" ,
675
692
token :"y"
@@ -718,19 +735,22 @@ o.misc = {
718
735
} ,
719
736
{
720
737
id :"open" ,
738
+ label : "表达式头" ,
721
739
tip :"标记正则表达式起始位置。"
722
740
} ,
723
741
{
724
742
id :"close" ,
743
+ label : "表达式尾" ,
725
744
tip :"标记正则表达式的结束位置和标识的起始位置。"
726
745
} ,
727
746
{
728
747
id :"condition" ,
748
+ label : "条件" ,
729
749
tip :"The lookaround to match in resolving the enclosing conditional statement. 详情见参考手册中”条件“部分。"
730
750
} ,
731
751
{
732
752
id :"conditionalelse" ,
733
- label :"conditional else " ,
753
+ label :"else条件 " ,
734
754
tip :"区分条件中的else部分"
735
755
} ,
736
756
{
0 commit comments