Anchor object
An anchor is a string, Match object, or array of Match objects. An anchor is a computationally quick way to narrow down the location of the data you want to extract in a document. After locating the anchor, Sensible uses a "method" to expand out from the anchor and extract the data you want.
Anchors can be simple or complex. The following example is a simple string anchor:
{
"fields": [
{
"id": "simple_label",
"anchor": "this is a string to anchor on",
"method": {
"id": "label",
"position": "below"
}
}
]
}
Behind the scenes, Sensible expands string anchors to case-insensitive includes
matches. For example, Sensible automatically expands the preceding example as:
"anchor": {
"match": {
"type": "includes",
"text": "this is a string to anchor on",
}
},
Parameters
An Anchor object has the following top-level parameters:
key | values | description |
---|---|---|
match (required, except for string anchors) | Match object or array of Match objects | See Match object. |
start | string, Match object, or Match object array | Start the search for the anchor's Match parameter at a line of text in the document, and ignore all the text that precedes the start line. The terms "preceding" and "succeeding" primarily mean above or below the Start line. For more information, see Line sorting. You can extract anchor output with the Passthrough method. |
end | string, Match, or Match array | Stop the search for the anchor's Match parameter at a line of text in the document, and ignore all the text that succeeds the End line. The terms "preceding" and "succeeding" primarily mean above or below the End line. For more information, see Line sorting. If unspecified, the anchor searches for matches to the end of the document. |
includeEnd | boolean | Whether to include the matching End line in the anchor output. |
Examples
Here's an example of an Anchor object that uses all these parameters:
{
"fields": [
{
"id": "simple_label",
"anchor": {
"start": "My section heading. Start matching at the start of this line",
"end": "My footer text. Stop matching before it",
"includeEnd": true,
"match":
[
{
"type": "includes",
"text": "Only finds anchor if you match this string in a line that is between the start and end lines",
},
]
},
"method": {
"id": "label",
"position": "below"
}
}
]
}
Notes
For information about complex anchor syntax, see Anchor nuances.
Updated about 9 hours ago