跳转到主要内容
操作语法描述示例
token[]方括号包含单个标记。[] 任何单词或标点符号。
token text""引号表示具有指定文本的标记。["Grantor"] 包含单词”Grantor”的标记。
variable:冒号用于为其后的标记序列分配名称。**注意:**该变量仅在同一规则内可用,即直到右侧部分以分号结束为止。[t: "Contract"] 查找包含单词”Contract”的标记并将其分配给变量 t。
lemmaL"word" Lemma"word"单词前的”L”或”Lemma”表示搜索应查找该单词的所有形式。[L"rule"] 将找到诸如”rule”、“rules”、“ruled”和”ruling”等标记。
regular expression/regular expression/单个正斜杠包含正则表达式。与从正则表达式获取值搜索元素一样,使用 PCRE2 正则表达式语法。`/[1]?\d:\d2\s+(([ap].m.)([AP]M))?/` 该模板将匹配 12 小时格式的时间,例如”2:00 p.m.”、“9:34 AM”。
option setting for regular expressions/regular expression/i选项设置可以放在结束正则表达式的正斜杠之后。例如,“i”选项表示正则表达式的不区分大小写匹配。/[1]?\d:\d{2}\s+([ap]\.?m\.?)?/i 此模板借助不区分大小写匹配简化了上面的示例。它将匹配 12 小时格式的时间,例如”2:00 p.m.”、“9:34 AM”。
token predicates<first_in_paragraph>标记是段落中的第一个。["Section" <first_in_paragraph>] 单词”Section”开始该段落。例如,您可以使用此方法提取紧跟此标记之后的节号。
token predicates<punctuator>标记是标点符号。["Tenant"] [<punctuator>]{0,2} 单词”Tenant”后面可以跟最多两个标点符号,例如右括号和逗号。
token predicates<initial_letter_capitalized>标记以大写字母开头。[L"agreement" <initial_letter_capitalized>] 此模板将匹配”Agreement”和”Agreements”,但不匹配”agreement”。
token predicates<mixed_capitalization>标记的部分字母(但不是全部)大写。[L"letter" <mixed_capitalization>] 例如,此模板将匹配”Letters”和”letteR”。
token predicates<all_letters_capitalized>标记全部为大写字母。[t: @NEROrganization <all_letters_capitalized>]+ 此模板将匹配以全大写形式书写的组织命名实体。
logical OR``竖线用于指定替代标记文本或标记的替代条件。`[“Lender""Co-Lender”] [“shall”] [“have”]` 此模板将匹配以下任一字符串:“Lender shall have”或”Co-Lender shall have”
logical ANDspace空格用作标记条件的逻辑连接。[t: "Section" <first_in_paragraph>] 查找包含单词”Section”并且开始段落的标记。
object condition@object_nameat 符号(”@“)检查标记是否位于对象区域内。支持以下对象:命名实体对象,与作为专用搜索元素提供的类型相同,以”NER”为前缀:NERPersonNEROrganizationNERAddressNERLocationNERDateNERDurationNERMoney;搜索元素;Sentence - 为文本流中的每个句子创建单独的对象;Paragraph - 为文本流中的每个段落创建单独的对象。[t: @NEROrganization]+ ["Lender"] 将名称 t 分配给包含 NEROrganization 实体且后跟关键字”Lender”的标记序列。 [t: @NERPerson @Preamble_Segment ]+ 在序言段中查找人名(由输入字段搜索元素表示)。
separating similar objects@object_name( same )”same”表示在重复标记上,将同一对象匹配到标记序列,而不是此类型的多个对象。如果对象条件使用逻辑 OR,则不应使用”same”。例如,如果您有一个人名列表依次排列,它们都将被检测为 NERPerson。要一次提取一个人的姓名,请使用”same”条件。 [t: @NERPerson( same )]+ 将名称 t 分配给找到的第一个人。
relative position@object_name( right_to( another_object )) @object_name( left_to( another_object ))”right_to”表示在括号中指定的 another_object 之后找到 object_name。“left_to”表示在括号中指定的 another_object 之前找到 object_name[ t: @NERAddress( same, right_to( id1 ), left_to( id2 ) )] 查找 id1 和 id2 之间的 NERAddress 命名实体。
logical OR (as used in object conditions)``竖线也可以用作对象条件的逻辑析取。`[t: @NERPerson( right_to( id1 )right_to( id2 ) )]` 将名称 t 分配给位于 id1 之后或 id2 之后的人名。
token sequencespace序列中的标记由空格分隔。["Grantor"] [":"] 此模板将匹配”Grantor:“。即使这些单词不需要提取,也可以仅为上下文指定标记。
替代标记序列`[token1]([token2][token3])`使用竖线指定替代标记序列。圆括号设置优先级。`[“will”] ([“start”]([“take”] [“place”])) [“on”]此模板将匹配以下任一字符串:&quot;will start on&quot; 或 &quot;will take place on&quot;。请注意,如果省略括号,模板还会匹配 &quot;will start place on&quot;。括号确保 &quot;take place&quot; 短语要么完整出现,要么完全不出现。**注意:** 对于更复杂的实际替代标记序列情况,您可能会发现为每个替代项编写单独的规则更方便:[“will”] [“start”] [“on”] => …; [“will”] [“take”] [“place”] [“on”] => …;`
可选标记[]?问号表示该标记是可选的。["Tenant"] ["."]? 单词 “Tenant” 后面可以跟一个句点。
可选重复标记[]*星号表示该标记是可选的,并且可以重复多次。["Grantor"] []* ["Tenant"] 关键字 “Grantor” 和 “Tenant” 之间可以由任意数量的标记分隔,也可以没有标记。
必需重复标记[]+加号表示该标记应至少出现一次,并且可以重复。[@NERPerson]+ 指定应找到人名,可能跨越多个标记,因为人名通常由多个单词组成。
指定重复次数的标记[]{n,} []{n,m}花括号中的数字表示该标记应重复 n 到 m 次。如果未指定第二个数字,则该标记应至少重复 n 次。注意: 如您所见,{0,} 等同于 *,而 {1,} 等同于 +["Grantor"] []{1,3} ["Tenant"] 关键字 “Grantor” 和 “Tenant” 之间应由 1 到 3 个标记分隔。这可能比 * 更实用,因为您可以指定这两个关键字之间的距离不要太远。